<!DOCTYPE html>
<!-- saved from url=(0058)https://blog.csdn.net/u013171226/article/details/132686757 -->
<html lang="zh-CN"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    
    <link rel="canonical" href="https://blog.csdn.net/u013171226/article/details/132686757">
    
    <meta name="renderer" content="webkit">
    <meta name="force-rendering" content="webkit">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
    <meta name="report" content="{&quot;pid&quot;: &quot;blog&quot;, &quot;spm&quot;:&quot;1001.2101&quot;}">
    <meta name="referrer" content="always">
    <meta http-equiv="Cache-Control" content="no-siteapp"><link rel="alternate" media="handheld" href="https://blog.csdn.net/u013171226/article/details/132686757#">
    <meta name="shenma-site-verification" content="5a59773ab8077d4a62bf469ab966a63b_1497598848">
    <meta name="applicable-device" content="pc">
    <link href="https://g.csdnimg.cn/static/logo/favicon32.ico" rel="shortcut icon" type="image/x-icon">
    <title>Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客</title>
    <script async="" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/clarity.js.下载"></script><script type="text/javascript" async="" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/auto_dup"></script><script type="text/javascript" charset="utf-8" async="" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/apiaccept"></script><script type="text/javascript" async="" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/trackad.js.下载"></script><script src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/push.js.下载"></script><script type="text/javascript" async="" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/saved_resource"></script><script src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/hm.js.下载"></script><script async="" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/lgtpix6r85"></script><script src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/push(1).js.下载" id="ttzz"></script><script>
      (function(){ 
        var el = document.createElement("script"); 
        el.src = "https://s3a.pstatp.com/toutiao/push.js?1abfa13dfe74d72d41d83c86d240de427e7cac50c51ead53b2e79d40c7952a23ed7716d05b4a0f683a653eab3e214672511de2457e74e99286eb2c33f4428830"; 
        el.id = "ttzz"; 
        var s = document.getElementsByTagName("script")[0]; 
        s.parentNode.insertBefore(el, s);
      })(window)
    </script>
        <meta name="keywords" content="gpio驱动代码流程">
        <meta name="csdn-baidu-search" content="{&quot;autorun&quot;:true,&quot;install&quot;:true,&quot;keyword&quot;:&quot;gpio驱动代码流程&quot;}">
    <meta name="description" content="文章浏览阅读3.5k次，点赞13次，收藏52次。上图就是gpio子系统的层次结构图，在其他的驱动程序里面，我们可以直接用gpiod_set_value这种函数来设置引脚的值，这个函数是在gpio库里面定义的，gpio库起到一个承上启下的作用，然后这个gpiod_set_value函数最终调用的是chip-&gt;set(chip, gpio_chip_hwgpio(desc), value)函数，这里的chip就是在gpio驱动程序里面注册的结构体，这个结构体体里面就包含了一些对gpio的操作函数。base     // 这个GPIO控制器的GPIO编号。_gpio驱动代码流程">
        <link rel="stylesheet" type="text/css" href="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/detail_enter-af0ead44cd.min.css">
    <script type="application/ld+json">{"@context":"https://ziyuan.baidu.com/contexts/cambrian.jsonld","@id":"https://blog.csdn.net/u013171226/article/details/132686757","appid":"1638831770136827","pubDate":"2023-09-05T10:35:41","title":"Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客","upDate":"2023-09-06T20:02:15"}</script>
        <link rel="stylesheet" type="text/css" href="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/skin-blackboard-3adcc2c475.min.css">
    <script src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/jquery.min.js.下载" type="text/javascript"></script>
    <script src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/jquery-migrate.js.下载" type="text/javascript"></script>
    <script type="text/javascript">
        var isCorporate = false;
        var username =  "u013171226";
        var skinImg = "white";

        var blog_address = "https://cumtchw.blog.csdn.net";
        var currentUserName = "2301_77659368";
        var isOwner = false;
        var loginUrl = "http://passport.csdn.net/account/login?from=https://blog.csdn.net/u013171226/article/details/132686757";
        var blogUrl = "https://blog.csdn.net/";
        var avatar = "https://profile-avatar.csdnimg.cn/4961dde5f7d6439995a648b3047e6d02_u013171226.jpg!1";
        var articleTitle = "Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序";
        var articleDesc = "文章浏览阅读3.5k次，点赞13次，收藏52次。上图就是gpio子系统的层次结构图，在其他的驱动程序里面，我们可以直接用gpiod_set_value这种函数来设置引脚的值，这个函数是在gpio库里面定义的，gpio库起到一个承上启下的作用，然后这个gpiod_set_value函数最终调用的是chip-&gt;set(chip, gpio_chip_hwgpio(desc), value)函数，这里的chip就是在gpio驱动程序里面注册的结构体，这个结构体体里面就包含了一些对gpio的操作函数。base     // 这个GPIO控制器的GPIO编号。_gpio驱动代码流程";
        var articleTitles = "Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客";
        var nickName = "陈 洪 伟";
        var articleDetailUrl = "https://cumtchw.blog.csdn.net/article/details/132686757";
        var vipUrlV = "https://mall.csdn.net/vip?vipSource=learningVip";
        if(window.location.host.split('.').length == 3) {
            blog_address = blogUrl + username;
        }
        var skinStatus = "White";
        var blogStaticHost = "https://csdnimg.cn/release/blogv2/"
          var payColumn = false
    </script>
        <meta name="toolbar" content="{&quot;type&quot;:&quot;0&quot;,&quot;fixModel&quot;:&quot;1&quot;}">
    <script src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/saved_resource(1)" type="text/javascript"></script>
      <script src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/chat-search.js.下载" type="text/javascript"></script><style>@charset "UTF-8";:root{--el-color-white:#ffffff;--el-color-black:#000000;--el-color-primary-rgb:64,158,255;--el-color-success-rgb:103,194,58;--el-color-warning-rgb:230,162,60;--el-color-danger-rgb:245,108,108;--el-color-error-rgb:245,108,108;--el-color-info-rgb:144,147,153;--el-font-size-extra-large:20px;--el-font-size-large:18px;--el-font-size-medium:16px;--el-font-size-base:14px;--el-font-size-small:13px;--el-font-size-extra-small:12px;--el-font-family:"Helvetica Neue",Helvetica,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","微软雅黑",Arial,sans-serif;--el-font-weight-primary:500;--el-font-line-height-primary:24px;--el-index-normal:1;--el-index-top:1000;--el-index-popper:2000;--el-border-radius-base:4px;--el-border-radius-small:2px;--el-border-radius-round:20px;--el-border-radius-circle:100%;--el-transition-duration:.3s;--el-transition-duration-fast:.2s;--el-transition-function-ease-in-out-bezier:cubic-bezier(.645, .045, .355, 1);--el-transition-function-fast-bezier:cubic-bezier(.23, 1, .32, 1);--el-transition-all:all var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier);--el-transition-fade:opacity var(--el-transition-duration) var(--el-transition-function-fast-bezier);--el-transition-md-fade:transform var(--el-transition-duration) var(--el-transition-function-fast-bezier),opacity var(--el-transition-duration) var(--el-transition-function-fast-bezier);--el-transition-fade-linear:opacity var(--el-transition-duration-fast) linear;--el-transition-border:border-color var(--el-transition-duration-fast) var(--el-transition-function-ease-in-out-bezier);--el-transition-box-shadow:box-shadow var(--el-transition-duration-fast) var(--el-transition-function-ease-in-out-bezier);--el-transition-color:color var(--el-transition-duration-fast) var(--el-transition-function-ease-in-out-bezier);--el-component-size-large:40px;--el-component-size:32px;--el-component-size-small:24px}:root{color-scheme:light;--el-color-white:#ffffff;--el-color-black:#000000;--el-color-primary:#409eff;--el-color-primary-light-3:#79bbff;--el-color-primary-light-5:#a0cfff;--el-color-primary-light-7:#c6e2ff;--el-color-primary-light-8:#d9ecff;--el-color-primary-light-9:#ecf5ff;--el-color-primary-dark-2:#337ecc;--el-color-success:#67c23a;--el-color-success-light-3:#95d475;--el-color-success-light-5:#b3e19d;--el-color-success-light-7:#d1edc4;--el-color-success-light-8:#e1f3d8;--el-color-success-light-9:#f0f9eb;--el-color-success-dark-2:#529b2e;--el-color-warning:#e6a23c;--el-color-warning-light-3:#eebe77;--el-color-warning-light-5:#f3d19e;--el-color-warning-light-7:#f8e3c5;--el-color-warning-light-8:#faecd8;--el-color-warning-light-9:#fdf6ec;--el-color-warning-dark-2:#b88230;--el-color-danger:#f56c6c;--el-color-danger-light-3:#f89898;--el-color-danger-light-5:#fab6b6;--el-color-danger-light-7:#fcd3d3;--el-color-danger-light-8:#fde2e2;--el-color-danger-light-9:#fef0f0;--el-color-danger-dark-2:#c45656;--el-color-error:#f56c6c;--el-color-error-light-3:#f89898;--el-color-error-light-5:#fab6b6;--el-color-error-light-7:#fcd3d3;--el-color-error-light-8:#fde2e2;--el-color-error-light-9:#fef0f0;--el-color-error-dark-2:#c45656;--el-color-info:#909399;--el-color-info-light-3:#b1b3b8;--el-color-info-light-5:#c8c9cc;--el-color-info-light-7:#dedfe0;--el-color-info-light-8:#e9e9eb;--el-color-info-light-9:#f4f4f5;--el-color-info-dark-2:#73767a;--el-bg-color:#ffffff;--el-bg-color-page:#f2f3f5;--el-bg-color-overlay:#ffffff;--el-text-color-primary:#303133;--el-text-color-regular:#606266;--el-text-color-secondary:#909399;--el-text-color-placeholder:#a8abb2;--el-text-color-disabled:#c0c4cc;--el-border-color:#dcdfe6;--el-border-color-light:#e4e7ed;--el-border-color-lighter:#ebeef5;--el-border-color-extra-light:#f2f6fc;--el-border-color-dark:#d4d7de;--el-border-color-darker:#cdd0d6;--el-fill-color:#f0f2f5;--el-fill-color-light:#f5f7fa;--el-fill-color-lighter:#fafafa;--el-fill-color-extra-light:#fafcff;--el-fill-color-dark:#ebedf0;--el-fill-color-darker:#e6e8eb;--el-fill-color-blank:#ffffff;--el-box-shadow:0px 12px 32px 4px rgba(0, 0, 0, .04),0px 8px 20px rgba(0, 0, 0, .08);--el-box-shadow-light:0px 0px 12px rgba(0, 0, 0, .12);--el-box-shadow-lighter:0px 0px 6px rgba(0, 0, 0, .12);--el-box-shadow-dark:0px 16px 48px 16px rgba(0, 0, 0, .08),0px 12px 32px rgba(0, 0, 0, .12),0px 8px 16px -8px rgba(0, 0, 0, .16);--el-disabled-bg-color:var(--el-fill-color-light);--el-disabled-text-color:var(--el-text-color-placeholder);--el-disabled-border-color:var(--el-border-color-light);--el-overlay-color:rgba(0, 0, 0, .8);--el-overlay-color-light:rgba(0, 0, 0, .7);--el-overlay-color-lighter:rgba(0, 0, 0, .5);--el-mask-color:rgba(255, 255, 255, .9);--el-mask-color-extra-light:rgba(255, 255, 255, .3);--el-border-width:1px;--el-border-style:solid;--el-border-color-hover:var(--el-text-color-disabled);--el-border:var(--el-border-width) var(--el-border-style) var(--el-border-color);--el-svg-monochrome-grey:var(--el-border-color)}.fade-in-linear-enter-active,.fade-in-linear-leave-active{transition:var(--el-transition-fade-linear)}.fade-in-linear-enter-from,.fade-in-linear-leave-to{opacity:0}.el-fade-in-linear-enter-active,.el-fade-in-linear-leave-active{transition:var(--el-transition-fade-linear)}.el-fade-in-linear-enter-from,.el-fade-in-linear-leave-to{opacity:0}.el-fade-in-enter-active,.el-fade-in-leave-active{transition:all var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-fade-in-enter-from,.el-fade-in-leave-active{opacity:0}.el-zoom-in-center-enter-active,.el-zoom-in-center-leave-active{transition:all var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-zoom-in-center-enter-from,.el-zoom-in-center-leave-active{opacity:0;transform:scaleX(0)}.el-zoom-in-top-enter-active,.el-zoom-in-top-leave-active{opacity:1;transform:scaleY(1);transition:var(--el-transition-md-fade);transform-origin:center top}.el-zoom-in-top-enter-active[data-popper-placement^=top],.el-zoom-in-top-leave-active[data-popper-placement^=top]{transform-origin:center bottom}.el-zoom-in-top-enter-from,.el-zoom-in-top-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-bottom-enter-active,.el-zoom-in-bottom-leave-active{opacity:1;transform:scaleY(1);transition:var(--el-transition-md-fade);transform-origin:center bottom}.el-zoom-in-bottom-enter-from,.el-zoom-in-bottom-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-left-enter-active,.el-zoom-in-left-leave-active{opacity:1;transform:scale(1);transition:var(--el-transition-md-fade);transform-origin:top left}.el-zoom-in-left-enter-from,.el-zoom-in-left-leave-active{opacity:0;transform:scale(.45)}.collapse-transition{transition:var(--el-transition-duration) height ease-in-out,var(--el-transition-duration) padding-top ease-in-out,var(--el-transition-duration) padding-bottom ease-in-out}.el-collapse-transition-enter-active,.el-collapse-transition-leave-active{transition:var(--el-transition-duration) max-height ease-in-out,var(--el-transition-duration) padding-top ease-in-out,var(--el-transition-duration) padding-bottom ease-in-out}.horizontal-collapse-transition{transition:var(--el-transition-duration) width ease-in-out,var(--el-transition-duration) padding-left ease-in-out,var(--el-transition-duration) padding-right ease-in-out}.el-list-enter-active,.el-list-leave-active{transition:all 1s}.el-list-enter-from,.el-list-leave-to{opacity:0;transform:translateY(-30px)}.el-list-leave-active{position:absolute!important}.el-opacity-transition{transition:opacity var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-drawer{--el-drawer-bg-color:var(--el-dialog-bg-color, var(--el-bg-color));--el-drawer-padding-primary:var(--el-dialog-padding-primary, 20px)}.el-drawer{position:absolute;box-sizing:border-box;background-color:var(--el-drawer-bg-color);display:flex;flex-direction:column;box-shadow:var(--el-box-shadow-dark);overflow:hidden;transition:all var(--el-transition-duration)}.el-drawer .rtl,.el-drawer .ltr,.el-drawer .ttb,.el-drawer .btt{transform:translate(0)}.el-drawer__sr-focus:focus{outline:0!important}.el-drawer__header{align-items:center;color:#72767b;display:flex;margin-bottom:32px;padding:var(--el-drawer-padding-primary);padding-bottom:0}.el-drawer__header>:first-child{flex:1}.el-drawer__title{margin:0;flex:1;line-height:inherit;font-size:1rem}.el-drawer__footer{padding:var(--el-drawer-padding-primary);padding-top:10px;text-align:right}.el-drawer__close-btn{display:inline-flex;border:none;cursor:pointer;font-size:var(--el-font-size-extra-large);color:inherit;background-color:transparent;outline:0}.el-drawer__close-btn:focus i,.el-drawer__close-btn:hover i{color:var(--el-color-primary)}.el-drawer__body{flex:1;padding:var(--el-drawer-padding-primary);overflow:auto}.el-drawer__body>*{box-sizing:border-box}.el-drawer.ltr,.el-drawer.rtl{height:100%;top:0;bottom:0}.el-drawer.btt,.el-drawer.ttb{width:100%;left:0;right:0}.el-drawer.ltr{left:0}.el-drawer.rtl{right:0}.el-drawer.ttb{top:0}.el-drawer.btt{bottom:0}.el-drawer-fade-enter-active,.el-drawer-fade-leave-active{transition:all var(--el-transition-duration)}.el-drawer-fade-enter-active,.el-drawer-fade-enter-from,.el-drawer-fade-enter-to,.el-drawer-fade-leave-active,.el-drawer-fade-leave-from,.el-drawer-fade-leave-to{overflow:hidden!important}.el-drawer-fade-enter-from,.el-drawer-fade-leave-to{opacity:0}.el-drawer-fade-enter-to,.el-drawer-fade-leave-from{opacity:1}.el-drawer-fade-enter-from .rtl,.el-drawer-fade-leave-to .rtl{transform:translate(100%)}.el-drawer-fade-enter-from .ltr,.el-drawer-fade-leave-to .ltr{transform:translate(-100%)}.el-drawer-fade-enter-from .ttb,.el-drawer-fade-leave-to .ttb{transform:translateY(-100%)}.el-drawer-fade-enter-from .btt,.el-drawer-fade-leave-to .btt{transform:translateY(100%)}.el-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;height:100%;background-color:var(--el-overlay-color-lighter);overflow:auto}.el-overlay .el-overlay-root{height:0}.el-popper{--el-popper-border-radius:var(--el-popover-border-radius, 4px)}.el-popper{position:absolute;border-radius:var(--el-popper-border-radius);padding:5px 11px;z-index:2000;font-size:12px;line-height:20px;min-width:10px;word-wrap:break-word;visibility:visible}.el-popper.is-dark{color:var(--el-bg-color);background:var(--el-text-color-primary);border:1px solid var(--el-text-color-primary)}.el-popper.is-dark .el-popper__arrow:before{border:1px solid var(--el-text-color-primary);background:var(--el-text-color-primary);right:0}.el-popper.is-light{background:var(--el-bg-color-overlay);border:1px solid var(--el-border-color-light)}.el-popper.is-light .el-popper__arrow:before{border:1px solid var(--el-border-color-light);background:var(--el-bg-color-overlay);right:0}.el-popper.is-pure{padding:0}.el-popper__arrow{position:absolute;width:10px;height:10px;z-index:-1}.el-popper__arrow:before{position:absolute;width:10px;height:10px;z-index:-1;content:" ";transform:rotate(45deg);background:var(--el-text-color-primary);box-sizing:border-box}.el-popper[data-popper-placement^=top]>.el-popper__arrow{bottom:-5px}.el-popper[data-popper-placement^=top]>.el-popper__arrow:before{border-bottom-right-radius:2px}.el-popper[data-popper-placement^=bottom]>.el-popper__arrow{top:-5px}.el-popper[data-popper-placement^=bottom]>.el-popper__arrow:before{border-top-left-radius:2px}.el-popper[data-popper-placement^=left]>.el-popper__arrow{right:-5px}.el-popper[data-popper-placement^=left]>.el-popper__arrow:before{border-top-right-radius:2px}.el-popper[data-popper-placement^=right]>.el-popper__arrow{left:-5px}.el-popper[data-popper-placement^=right]>.el-popper__arrow:before{border-bottom-left-radius:2px}.el-popper[data-popper-placement^=top] .el-popper__arrow:before{border-top-color:transparent!important;border-left-color:transparent!important}.el-popper[data-popper-placement^=bottom] .el-popper__arrow:before{border-bottom-color:transparent!important;border-right-color:transparent!important}.el-popper[data-popper-placement^=left] .el-popper__arrow:before{border-left-color:transparent!important;border-bottom-color:transparent!important}.el-popper[data-popper-placement^=right] .el-popper__arrow:before{border-right-color:transparent!important;border-top-color:transparent!important}.el-popover{--el-popover-bg-color:var(--el-bg-color-overlay);--el-popover-font-size:var(--el-font-size-base);--el-popover-border-color:var(--el-border-color-lighter);--el-popover-padding:12px;--el-popover-padding-large:18px 20px;--el-popover-title-font-size:16px;--el-popover-title-text-color:var(--el-text-color-primary);--el-popover-border-radius:4px}.el-popover.el-popper{background:var(--el-popover-bg-color);min-width:150px;border-radius:var(--el-popover-border-radius);border:1px solid var(--el-popover-border-color);padding:var(--el-popover-padding);z-index:var(--el-index-popper);color:var(--el-text-color-regular);line-height:1.4;text-align:justify;font-size:var(--el-popover-font-size);box-shadow:var(--el-box-shadow-light);word-break:break-all;box-sizing:border-box}.el-popover.el-popper--plain{padding:var(--el-popover-padding-large)}.el-popover__title{color:var(--el-popover-title-text-color);font-size:var(--el-popover-title-font-size);line-height:1;margin-bottom:12px}.el-popover__reference:focus:hover,.el-popover__reference:focus:not(.focusing){outline-width:0}.el-popover.el-popper.is-dark{--el-popover-bg-color:var(--el-text-color-primary);--el-popover-border-color:var(--el-text-color-primary);--el-popover-title-text-color:var(--el-bg-color);color:var(--el-bg-color)}.el-popover.el-popper:focus,.el-popover.el-popper:focus:active{outline-width:0}.el-badge{--el-badge-bg-color:var(--el-color-danger);--el-badge-radius:10px;--el-badge-font-size:12px;--el-badge-padding:6px;--el-badge-size:18px;position:relative;vertical-align:middle;display:inline-block;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.el-badge__content{background-color:var(--el-badge-bg-color);border-radius:var(--el-badge-radius);color:var(--el-color-white);display:inline-flex;justify-content:center;align-items:center;font-size:var(--el-badge-font-size);height:var(--el-badge-size);padding:0 var(--el-badge-padding);white-space:nowrap;border:1px solid var(--el-bg-color)}.el-badge__content.is-fixed{position:absolute;top:0;right:calc(1px + var(--el-badge-size)/ 2);transform:translateY(-50%) translate(100%);z-index:var(--el-index-normal)}.el-badge__content.is-fixed.is-dot{right:5px}.el-badge__content.is-dot{height:8px;width:8px;padding:0;right:0;border-radius:50%}.el-badge__content--primary{background-color:var(--el-color-primary)}.el-badge__content--success{background-color:var(--el-color-success)}.el-badge__content--warning{background-color:var(--el-color-warning)}.el-badge__content--info{background-color:var(--el-color-info)}.el-badge__content--danger{background-color:var(--el-color-danger)}.el-message{--el-message-bg-color:var(--el-color-info-light-9);--el-message-border-color:var(--el-border-color-lighter);--el-message-padding:15px 19px;--el-message-close-size:16px;--el-message-close-icon-color:var(--el-text-color-placeholder);--el-message-close-hover-color:var(--el-text-color-secondary)}.el-message{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;max-width:calc(100% - 32px);box-sizing:border-box;border-radius:var(--el-border-radius-base);border-width:var(--el-border-width);border-style:var(--el-border-style);border-color:var(--el-message-border-color);position:fixed;left:50%;top:20px;transform:translate(-50%);background-color:var(--el-message-bg-color);transition:opacity var(--el-transition-duration),transform .4s,top .4s;padding:var(--el-message-padding);display:flex;align-items:center}.el-message.is-center{justify-content:center}.el-message.is-closable .el-message__content{padding-right:31px}.el-message p{margin:0}.el-message--success{--el-message-bg-color:var(--el-color-success-light-9);--el-message-border-color:var(--el-color-success-light-8);--el-message-text-color:var(--el-color-success)}.el-message--success .el-message__content{color:var(--el-message-text-color);overflow-wrap:anywhere}.el-message .el-message-icon--success{color:var(--el-message-text-color)}.el-message--info{--el-message-bg-color:var(--el-color-info-light-9);--el-message-border-color:var(--el-color-info-light-8);--el-message-text-color:var(--el-color-info)}.el-message--info .el-message__content{color:var(--el-message-text-color);overflow-wrap:anywhere}.el-message .el-message-icon--info{color:var(--el-message-text-color)}.el-message--warning{--el-message-bg-color:var(--el-color-warning-light-9);--el-message-border-color:var(--el-color-warning-light-8);--el-message-text-color:var(--el-color-warning)}.el-message--warning .el-message__content{color:var(--el-message-text-color);overflow-wrap:anywhere}.el-message .el-message-icon--warning{color:var(--el-message-text-color)}.el-message--error{--el-message-bg-color:var(--el-color-error-light-9);--el-message-border-color:var(--el-color-error-light-8);--el-message-text-color:var(--el-color-error)}.el-message--error .el-message__content{color:var(--el-message-text-color);overflow-wrap:anywhere}.el-message .el-message-icon--error{color:var(--el-message-text-color)}.el-message__icon{margin-right:10px}.el-message .el-message__badge{position:absolute;top:-8px;right:-8px}.el-message__content{padding:0;font-size:14px;line-height:1}.el-message__content:focus{outline-width:0}.el-message .el-message__closeBtn{position:absolute;top:50%;right:19px;transform:translateY(-50%);cursor:pointer;color:var(--el-message-close-icon-color);font-size:var(--el-message-close-size)}.el-message .el-message__closeBtn:focus{outline-width:0}.el-message .el-message__closeBtn:hover{color:var(--el-message-close-hover-color)}.el-message-fade-enter-from,.el-message-fade-leave-to{opacity:0;transform:translate(-50%,-100%)}.el-icon-loading{-webkit-animation:rotating 2s linear infinite;animation:rotating 2s linear infinite}.el-icon--right{margin-left:5px}.el-icon--left{margin-right:5px}@-webkit-keyframes rotating{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes rotating{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.el-icon{--color:inherit;height:1em;width:1em;line-height:1em;display:inline-flex;justify-content:center;align-items:center;position:relative;fill:currentColor;color:var(--color);font-size:inherit}.el-icon.is-loading{-webkit-animation:rotating 2s linear infinite;animation:rotating 2s linear infinite}.el-icon svg{height:1em;width:1em}@media screen and (min-width: 769px){.scroll-bar-style:hover::-webkit-scrollbar-thumb,.el-popover.chat-order-popper .chat-order-list:hover::-webkit-scrollbar-thumb{box-shadow:inset 0 0 5px #0000001a;background:#f7f7fc}.scroll-bar-style::-webkit-scrollbar,.el-popover.chat-order-popper .chat-order-list::-webkit-scrollbar{width:5px;height:5px}.scroll-bar-style::-webkit-scrollbar-thumb,.el-popover.chat-order-popper .chat-order-list::-webkit-scrollbar-thumb{border-radius:10px;box-shadow:inset 0 0 5px #0000;background:#0000}.scroll-bar-style::-webkit-scrollbar-track,.el-popover.chat-order-popper .chat-order-list::-webkit-scrollbar-track{border-radius:10px;background:#0000}}.fade-enter-active,.fade-leave-active{transition:opacity .5s ease}.fade-enter-from,.fade-leave-to{opacity:0}.simple .chat-order{bottom:130px}.simple .chat-order-main{height:320px}.simple .chat-order-list{height:266px}.el-popover.chat-order-popper{border-radius:16px;overflow:hidden;padding:16px}.el-popover.chat-order-popper .chat-order{width:100%;z-index:88;display:flex;justify-content:center}.el-popover.chat-order-popper .chat-order-main{position:relative;width:320px;height:400px;background:#fff}.el-popover.chat-order-popper .chat-order-title{display:flex;justify-content:space-between;align-items:center;padding-bottom:18px;font-size:14px;font-weight:500;color:var(--color-text-primary)}.el-popover.chat-order-popper .chat-order-title .chat-icon-tip{width:12px;height:12px}.el-popover.chat-order-popper .chat-order-list{border-radius:8px;background:#fff;overflow:auto;height:366px}.el-popover.chat-order-popper .chat-order-list .order-list-item{margin-bottom:8px}.el-popover.chat-order-popper .chat-order-list .order-list-item .order-time{color:#222226;font-family:PingFang SC;font-size:14px;font-style:normal;font-weight:400;line-height:16px}.el-popover.chat-order-popper .chat-order-list .order-list-item .order-pay{padding:12px 0;position:relative;color:#555666;font-size:16px;font-style:normal;line-height:16px}.el-popover.chat-order-popper .chat-order-list .order-list-item .order-pay:before{position:absolute;content:"";top:0;left:8px;height:100%;width:1px;background-color:var(--color-input-border)}.el-popover.chat-order-popper .chat-order-list .order-list-item .order-pay-item{padding:0 16px 16px 24px;display:flex;justify-content:space-between}.el-popover.chat-order-popper .chat-order-list .order-list-item .order-pay-item:last-child{padding-bottom:0}.empty{display:flex;justify-content:center;align-items:center;height:100%}.chat-popper.el-popover.el-popper{background:transparent;border:none;padding:0;border-radius:16px;box-shadow:4px 4px 40px #0000001a}.chat-popper.el-popover.el-popper .right-content{border-radius:16px;overflow:hidden;background:#fff;padding:16px;box-sizing:border-box}.chat-user[data-v-2ef162c4]{display:flex;padding:0 0 32px;justify-content:center}.chat-user .user-left[data-v-2ef162c4]{display:flex;align-items:center;border:1px solid #e8e8f0;width:40px;height:40px;border-radius:40px;position:relative}.chat-user .set[data-v-2ef162c4]{position:absolute;right:-2px;bottom:0}.chat-user .user-img[data-v-2ef162c4]{display:block;width:39px;height:39px;border-radius:40px}.chat-user .user-login[data-v-2ef162c4]{display:block;width:40px;height:40px;border-radius:40px;background-color:#0000001a;color:#999aaa;line-height:40px;text-align:center;cursor:pointer}.user-right[data-v-2ef162c4]{display:flex;flex-direction:column;justify-content:center;flex:1;color:var(--color-text-primary);width:100%}.user-right .user-name[data-v-2ef162c4]{font-weight:400;font-size:14px}.user-right .user-desc[data-v-2ef162c4]{margin-top:4px;font-size:12px;color:var(--color-text-content);white-space:pre;padding-bottom:2px}.vip-status[data-v-2ef162c4]{display:inline-block;width:94px;height:30px;color:#fff;text-align:center;font-size:14px;font-style:normal;font-weight:600;line-height:30px;border-radius:8px;background:linear-gradient(115.24deg,#bb89fa 2.14%,#635bff 96.77%);cursor:pointer}.popper[data-v-2ef162c4]{padding:8px 10px!important}.popper .user-desc[data-v-2ef162c4]{margin-bottom:8px}.popper .vip-status[data-v-2ef162c4]{margin-left:4px}.user-right-content[data-v-2ef162c4]{background:#fafafc;border-radius:8px;margin-bottom:5px;padding:8px 16px}.user-right-content .setting[data-v-2ef162c4]{margin-bottom:11px}.user-right-content .setting[data-v-2ef162c4]:last-child{margin-bottom:0}.setting[data-v-2ef162c4]{align-items:center;cursor:pointer;color:var(--color-text-content);font-size:12px;line-height:16px;vertical-align:middle}.setting.setting-bottom[data-v-2ef162c4]{background:#f8f8f8;border-radius:8px;padding:8px 16px}.setting.setting-bottom .list-item[data-v-2ef162c4]{padding-bottom:6px;font-size:12px}.setting.setting-bottom .list-item[data-v-2ef162c4]:last-child{padding-top:8px;padding-bottom:0;border-top:1px solid var(--color-input-border)}.setting .icon-receipt[data-v-2ef162c4]{width:20px;height:20px;background:url("data:image/svg+xml,%3csvg%20width='20'%20height='20'%20viewBox='0%200%2020%2020'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_7521_21106)'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M8.24609%206.49077L12.2719%204.1665L13.6171%206.4966L8.24609%206.49077Z'%20stroke='%23574FF5'%20stroke-width='0.875'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cpath%20d='M4.16797%207.08333C4.16797%206.76116%204.42914%206.5%204.7513%206.5H15.2513C15.5735%206.5%2015.8346%206.76116%2015.8346%207.08333V15.25C15.8346%2015.5722%2015.5735%2015.8333%2015.2513%2015.8333H4.7513C4.42914%2015.8333%204.16797%2015.5722%204.16797%2015.25V7.08333Z'%20stroke='%23574FF5'%20stroke-width='0.875'%20stroke-linejoin='round'/%3e%3cpath%20d='M13.2812%2012.6252H15.8333V9.7085H13.2812C12.4356%209.7085%2011.75%2010.3614%2011.75%2011.1668C11.75%2011.9722%2012.4356%2012.6252%2013.2812%2012.6252Z'%20stroke='%23574FF5'%20stroke-width='0.875'%20stroke-linejoin='round'/%3e%3cpath%20d='M15.832%207.8125V14.8125'%20stroke='%23574FF5'%20stroke-width='0.875'%20stroke-linecap='round'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_7521_21106'%3e%3crect%20width='14'%20height='14'%20fill='white'%20transform='translate(3%203)'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e") center/cover no-repeat}.setting .icon-question[data-v-2ef162c4]{width:20px;height:20px;background:url("data:image/svg+xml,%3csvg%20width='20'%20height='20'%20viewBox='0%200%2020%2020'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M9.34322%204.38427C8.54328%204.49849%207.54356%204.90276%206.85751%205.38952C6.43037%205.69258%205.71882%206.43193%205.4214%206.88181C4.72997%207.9274%204.38173%209.31756%204.51544%2010.4982C4.60684%2011.3048%204.95322%2012.3743%205.35787%2013.0995C5.4355%2013.2387%205.49904%2013.3783%205.49904%2013.4098C5.49904%2013.4413%205.20462%2013.9387%204.84477%2014.5152C4.48492%2015.0916%204.17525%2015.5893%204.15657%2015.6211C4.13414%2015.6594%205.27694%2015.677%207.54223%2015.6732C10.8036%2015.6677%2010.9845%2015.6619%2011.4532%2015.5468C14.7079%2014.7474%2016.5723%2011.4594%2015.5736%208.28017C14.7461%205.64628%2012.099%203.99098%209.34322%204.38427ZM11.0617%205.26964C12.9918%205.63888%2014.5062%207.13597%2014.8961%209.06022C15.0463%209.80102%2014.9906%2010.7703%2014.7566%2011.49C14.3442%2012.7583%2013.506%2013.7229%2012.2914%2014.3269C11.3116%2014.8141%2011.0554%2014.8449%208.13135%2014.827L5.67107%2014.8119L6.10636%2014.1114L6.54165%2013.4109L6.29926%2013.0132C5.98965%2012.5049%205.72142%2011.8865%205.52499%2011.2281C5.39816%2010.803%205.36885%2010.5863%205.36452%2010.0432C5.35394%208.70058%205.77726%207.63614%206.7057%206.67095C7.44552%205.90183%208.46871%205.36593%209.45883%205.22905C9.86233%205.17322%2010.6641%205.19351%2011.0617%205.26964ZM7.5801%2010.2479V10.6838L8.0281%2010.667L8.47611%2010.6501L8.49311%2010.231L8.5101%209.81195H8.0451H7.5801V10.2479ZM9.71897%2010.2455V10.679H10.1525H10.5861V10.2455V9.81195H10.1525H9.71897V10.2455ZM11.8119%2010.231L11.8289%2010.6501L12.2769%2010.667L12.7249%2010.6838V10.2479V9.81195H12.2599H11.7949L11.8119%2010.231Z'%20fill='%23574FF5'/%3e%3c/svg%3e") center/cover no-repeat}.setting a[data-v-2ef162c4]{color:var(--color-text-content)}.setting .icon-text[data-v-2ef162c4]{padding-left:4px;flex:1;font-size:12px}.setting .icon-right[data-v-2ef162c4]{transform:scale(1.2);color:var(--color-text-desc)}.setting .progress[data-v-2ef162c4]{margin-bottom:4px;column-gap:4px}.setting .progress-bar[data-v-2ef162c4]{width:230px;display:flex;position:relative;background:#6d5ffd1a;height:6px;border-radius:10px}.setting .progress-bar .percent[data-v-2ef162c4]{position:absolute;top:0;left:0;height:100%;border-radius:10px;background:linear-gradient(115.24deg,#bb89fa 2.14%,#635bff)}.setting .progress-bar .percent.percent-extra[data-v-2ef162c4]{background:linear-gradient(107.62deg,#ffab49 1.98%,#ffebb7 73.4%)}.setting-item[data-v-2ef162c4]{display:flex;align-items:center;column-gap:2px}.setting-item .tooltip-vip a[data-v-2ef162c4]{color:#5fbaef}.setting .icon-text[data-v-2ef162c4]{font-size:12px}.logout[data-v-2ef162c4]{font-size:12px;color:var(--color-text-desc);display:flex;align-items:center;justify-content:center;cursor:pointer;width:280px;margin:16px auto 0}.get-vip-btn[data-v-2ef162c4]{width:100%;height:36px;line-height:36px;color:#fff;background:linear-gradient(115.24deg,#bb89fa 2.14%,#635bff 96.77%);font-size:16px;font-weight:600;text-align:center;border-radius:8px;cursor:pointer;margin-bottom:8px}.right-list[data-v-2ef162c4]{font-size:12px;background:#fff;border-radius:8px;margin:10px 0}.right-list .top[data-v-2ef162c4]{display:flex;align-items:center;padding:8px 16px;box-sizing:border-box;color:var(--color-text-primary);font-weight:600;column-gap:6px;height:40px;border-bottom:1px solid var(--color-input-border)}.right-list .top img[data-v-2ef162c4]{width:18px}.right-list .top .vip-1024-img[data-v-2ef162c4]{margin-left:auto;-webkit-user-drag:none;cursor:pointer}.right-list .bottom[data-v-2ef162c4]{padding:8px 14px;box-sizing:border-box}.right-list .bottom .right-item[data-v-2ef162c4]{display:flex;align-items:center;column-gap:8px;color:var(--color-text-content);height:32px}.right-list .bottom .right-item+.right-item[data-v-2ef162c4]{margin-top:4px}.right-list .bottom .right-item span[data-v-2ef162c4]{width:20px;height:20px;border-radius:50%;background:#f3f0fe;display:flex;justify-content:center;align-items:center}.right-list .bottom .right-item span svg[data-v-2ef162c4]{width:12px;height:12px}.strong[data-v-2ef162c4]{font-weight:500}.chat-icon-tip[data-v-2ef162c4]{overflow:hidden;vertical-align:-4px;width:10px;height:10px}@keyframes breathe{0%{opacity:0}50%{opacity:1}to{opacity:0}}.add-simple{padding:4px;border-radius:20px;margin:auto 8px;display:none}.add-wrap{width:192px;padding:4px;border-radius:20px;margin:26px auto 12px;z-index:1}.new-chat-btn{color:#fff;cursor:pointer;background:linear-gradient(115.24deg,#bb89fa 2.14%,#635bff 96.77%);width:130px;height:29px;box-sizing:border-box;border-radius:8px;position:relative;transition:width .3s;transform-origin:left;overflow:hidden;display:flex;justify-content:center;align-items:center}.new-chat-btn:hover .add{font-weight:600}.new-chat-btn .add{font-size:14px;display:flex;justify-content:center;align-items:center;border-radius:20px}.new-chat-btn .add svg{margin-right:8px}.chat-aside{position:relative;display:flex;transition:width .3s linear;padding:12px 0 25px 12px}.chat-aside .aside-left{display:flex;flex-direction:column;height:100%;width:65px;border-right:1px solid rgba(0,0,0,.05);background:#fff;border-radius:12px 0 0 12px;position:relative}.chat-aside .aside-left .logo-aside{padding:24px 12px 0;text-align:center}.chat-aside .aside-left .logo-aside svg{vertical-align:middle}.chat-aside .aside-left .vip-button{display:flex;flex-direction:column;justify-content:center;align-items:center;row-gap:8px;margin-bottom:27px;cursor:pointer}.chat-aside .aside-left .vip-button img{width:24px}.chat-aside .aside-left .vip-button span{font-size:12px;color:var(--color-text-primary)}.chat-aside .aside-left .aside-items{flex:1;padding:0 4px}.chat-aside .aside-left .aside-items .aside-chat-item{margin:8px 0 24px;text-align:center;height:52px;width:56px;border-radius:12px;padding:4px;font-size:12px;line-height:16px;color:var(--color-text-desc);box-sizing:border-box;font-weight:500;cursor:pointer;position:relative}.chat-aside .aside-left .aside-items .aside-chat-item .chat-icon-text{white-space:nowrap}.chat-aside .aside-left .aside-items .aside-chat-item .chat-icon-tip{position:absolute;top:-4px;right:-4px}.chat-aside .aside-left .aside-items .aside-chat-item svg{color:var(--color-text-desc)}.chat-aside .aside-left .aside-items .aside-chat-item.active{background-color:#fff;color:var(--color-text-active);background:#f3f0fe}.chat-aside .aside-left .aside-items .aside-chat-item.active svg{color:var(--color-text-active)}.chat-aside .aside-right{width:164px;position:relative;display:flex;flex-direction:column;box-sizing:border-box}.chat-aside .aside-right:after{position:absolute;content:"";width:1px;height:100%;background:#0000000d;top:0;right:0}.chat-aside .aside-right .aside-top{background:#fff}.chat-aside .aside-right .aside-main{flex:1;background:#fff;overflow:hidden}.chat-aside .aside-right .aside-bottom{padding:0 12px 24px}.chat-aside .fold-icon{opacity:0;position:absolute;top:50%;transform:translateY(-50%);left:0;width:14px;height:110px;z-index:2;pointer-events:none;cursor:pointer}.chat-aside .fold-icon .icon-fold-open,.chat-aside .fold-icon .icon-fold-close{width:100%;height:100%}#chat-pro .fold .aside-right{display:none}#chat-pro .fold .add-simple{display:block;width:48px}.el-dialog{--el-dialog-width:50%;--el-dialog-margin-top:15vh;--el-dialog-bg-color:var(--el-bg-color);--el-dialog-box-shadow:var(--el-box-shadow);--el-dialog-title-font-size:var(--el-font-size-large);--el-dialog-content-font-size:14px;--el-dialog-font-line-height:var(--el-font-line-height-primary);--el-dialog-padding-primary:20px;--el-dialog-border-radius:var(--el-border-radius-small);position:relative;margin:var(--el-dialog-margin-top,15vh) auto 50px;background:var(--el-dialog-bg-color);border-radius:var(--el-dialog-border-radius);box-shadow:var(--el-dialog-box-shadow);box-sizing:border-box;width:var(--el-dialog-width,50%)}.el-dialog:focus{outline:0!important}.el-dialog.is-align-center{margin:auto}.el-dialog.is-fullscreen{--el-dialog-width:100%;--el-dialog-margin-top:0;margin-bottom:0;height:100%;overflow:auto}.el-dialog__wrapper{position:fixed;top:0;right:0;bottom:0;left:0;overflow:auto;margin:0}.el-dialog.is-draggable .el-dialog__header{cursor:move;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.el-dialog__header{padding:var(--el-dialog-padding-primary);padding-bottom:10px;margin-right:16px}.el-dialog__headerbtn{position:absolute;top:6px;right:0;padding:0;width:54px;height:54px;background:0 0;border:none;outline:0;cursor:pointer;font-size:var(--el-message-close-size,16px)}.el-dialog__headerbtn .el-dialog__close{color:var(--el-color-info);font-size:inherit}.el-dialog__headerbtn:focus .el-dialog__close,.el-dialog__headerbtn:hover .el-dialog__close{color:var(--el-color-primary)}.el-dialog__title{line-height:var(--el-dialog-font-line-height);font-size:var(--el-dialog-title-font-size);color:var(--el-text-color-primary)}.el-dialog__body{padding:calc(var(--el-dialog-padding-primary) + 10px) var(--el-dialog-padding-primary);color:var(--el-text-color-regular);font-size:var(--el-dialog-content-font-size)}.el-dialog__footer{padding:var(--el-dialog-padding-primary);padding-top:10px;text-align:right;box-sizing:border-box}.el-dialog--center{text-align:center}.el-dialog--center .el-dialog__body{text-align:initial;padding:25px calc(var(--el-dialog-padding-primary) + 5px) 30px}.el-dialog--center .el-dialog__footer{text-align:inherit}.el-overlay-dialog{position:fixed;top:0;right:0;bottom:0;left:0;overflow:auto}.dialog-fade-enter-active{-webkit-animation:modal-fade-in var(--el-transition-duration);animation:modal-fade-in var(--el-transition-duration)}.dialog-fade-enter-active .el-overlay-dialog{-webkit-animation:dialog-fade-in var(--el-transition-duration);animation:dialog-fade-in var(--el-transition-duration)}.dialog-fade-leave-active{-webkit-animation:modal-fade-out var(--el-transition-duration);animation:modal-fade-out var(--el-transition-duration)}.dialog-fade-leave-active .el-overlay-dialog{-webkit-animation:dialog-fade-out var(--el-transition-duration);animation:dialog-fade-out var(--el-transition-duration)}@-webkit-keyframes dialog-fade-in{0%{transform:translate3d(0,-20px,0);opacity:0}to{transform:translateZ(0);opacity:1}}@keyframes dialog-fade-in{0%{transform:translate3d(0,-20px,0);opacity:0}to{transform:translateZ(0);opacity:1}}@-webkit-keyframes dialog-fade-out{0%{transform:translateZ(0);opacity:1}to{transform:translate3d(0,-20px,0);opacity:0}}@keyframes dialog-fade-out{0%{transform:translateZ(0);opacity:1}to{transform:translate3d(0,-20px,0);opacity:0}}@-webkit-keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@-webkit-keyframes modal-fade-out{0%{opacity:1}to{opacity:0}}@keyframes modal-fade-out{0%{opacity:1}to{opacity:0}}.el-button{--el-button-font-weight:var(--el-font-weight-primary);--el-button-border-color:var(--el-border-color);--el-button-bg-color:var(--el-fill-color-blank);--el-button-text-color:var(--el-text-color-regular);--el-button-disabled-text-color:var(--el-disabled-text-color);--el-button-disabled-bg-color:var(--el-fill-color-blank);--el-button-disabled-border-color:var(--el-border-color-light);--el-button-divide-border-color:rgba(255, 255, 255, .5);--el-button-hover-text-color:var(--el-color-primary);--el-button-hover-bg-color:var(--el-color-primary-light-9);--el-button-hover-border-color:var(--el-color-primary-light-7);--el-button-active-text-color:var(--el-button-hover-text-color);--el-button-active-border-color:var(--el-color-primary);--el-button-active-bg-color:var(--el-button-hover-bg-color);--el-button-outline-color:var(--el-color-primary-light-5);--el-button-hover-link-text-color:var(--el-color-info);--el-button-active-color:var(--el-text-color-primary)}.el-button{display:inline-flex;justify-content:center;align-items:center;line-height:1;height:32px;white-space:nowrap;cursor:pointer;color:var(--el-button-text-color);text-align:center;box-sizing:border-box;outline:0;transition:.1s;font-weight:var(--el-button-font-weight);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;vertical-align:middle;-webkit-appearance:none;background-color:var(--el-button-bg-color);border:var(--el-border);border-color:var(--el-button-border-color);padding:8px 15px;font-size:var(--el-font-size-base);border-radius:var(--el-border-radius-base)}.el-button:focus,.el-button:hover{color:var(--el-button-hover-text-color);border-color:var(--el-button-hover-border-color);background-color:var(--el-button-hover-bg-color);outline:0}.el-button:active{color:var(--el-button-active-text-color);border-color:var(--el-button-active-border-color);background-color:var(--el-button-active-bg-color);outline:0}.el-button:focus-visible{outline:2px solid var(--el-button-outline-color);outline-offset:1px}.el-button>span{display:inline-flex;align-items:center}.el-button+.el-button{margin-left:12px}.el-button.is-round{padding:8px 15px}.el-button::-moz-focus-inner{border:0}.el-button [class*=el-icon]+span{margin-left:6px}.el-button [class*=el-icon] svg{vertical-align:bottom}.el-button.is-plain{--el-button-hover-text-color:var(--el-color-primary);--el-button-hover-bg-color:var(--el-fill-color-blank);--el-button-hover-border-color:var(--el-color-primary)}.el-button.is-active{color:var(--el-button-active-text-color);border-color:var(--el-button-active-border-color);background-color:var(--el-button-active-bg-color);outline:0}.el-button.is-disabled,.el-button.is-disabled:focus,.el-button.is-disabled:hover{color:var(--el-button-disabled-text-color);cursor:not-allowed;background-image:none;background-color:var(--el-button-disabled-bg-color);border-color:var(--el-button-disabled-border-color)}.el-button.is-loading{position:relative;pointer-events:none}.el-button.is-loading:before{z-index:1;pointer-events:none;content:"";position:absolute;left:-1px;top:-1px;right:-1px;bottom:-1px;border-radius:inherit;background-color:var(--el-mask-color-extra-light)}.el-button.is-round{border-radius:var(--el-border-radius-round)}.el-button.is-circle{width:32px;border-radius:50%;padding:8px}.el-button.is-text{color:var(--el-button-text-color);border:0 solid transparent;background-color:transparent}.el-button.is-text.is-disabled{color:var(--el-button-disabled-text-color);background-color:transparent!important}.el-button.is-text:not(.is-disabled):focus,.el-button.is-text:not(.is-disabled):hover{background-color:var(--el-fill-color-light)}.el-button.is-text:not(.is-disabled):focus-visible{outline:2px solid var(--el-button-outline-color);outline-offset:1px}.el-button.is-text:not(.is-disabled):active{background-color:var(--el-fill-color)}.el-button.is-text:not(.is-disabled).is-has-bg{background-color:var(--el-fill-color-light)}.el-button.is-text:not(.is-disabled).is-has-bg:focus,.el-button.is-text:not(.is-disabled).is-has-bg:hover{background-color:var(--el-fill-color)}.el-button.is-text:not(.is-disabled).is-has-bg:active{background-color:var(--el-fill-color-dark)}.el-button__text--expand{letter-spacing:.3em;margin-right:-.3em}.el-button.is-link{border-color:transparent;color:var(--el-button-text-color);background:0 0;padding:2px;height:auto}.el-button.is-link:focus,.el-button.is-link:hover{color:var(--el-button-hover-link-text-color)}.el-button.is-link.is-disabled{color:var(--el-button-disabled-text-color);background-color:transparent!important;border-color:transparent!important}.el-button.is-link:not(.is-disabled):focus,.el-button.is-link:not(.is-disabled):hover{border-color:transparent;background-color:transparent}.el-button.is-link:not(.is-disabled):active{color:var(--el-button-active-color);border-color:transparent;background-color:transparent}.el-button--text{border-color:transparent;background:0 0;color:var(--el-color-primary);padding-left:0;padding-right:0}.el-button--text.is-disabled{color:var(--el-button-disabled-text-color);background-color:transparent!important;border-color:transparent!important}.el-button--text:not(.is-disabled):focus,.el-button--text:not(.is-disabled):hover{color:var(--el-color-primary-light-3);border-color:transparent;background-color:transparent}.el-button--text:not(.is-disabled):active{color:var(--el-color-primary-dark-2);border-color:transparent;background-color:transparent}.el-button__link--expand{letter-spacing:.3em;margin-right:-.3em}.el-button--primary{--el-button-text-color:var(--el-color-white);--el-button-bg-color:var(--el-color-primary);--el-button-border-color:var(--el-color-primary);--el-button-outline-color:var(--el-color-primary-light-5);--el-button-active-color:var(--el-color-primary-dark-2);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-link-text-color:var(--el-color-primary-light-5);--el-button-hover-bg-color:var(--el-color-primary-light-3);--el-button-hover-border-color:var(--el-color-primary-light-3);--el-button-active-bg-color:var(--el-color-primary-dark-2);--el-button-active-border-color:var(--el-color-primary-dark-2);--el-button-disabled-text-color:var(--el-color-white);--el-button-disabled-bg-color:var(--el-color-primary-light-5);--el-button-disabled-border-color:var(--el-color-primary-light-5)}.el-button--primary.is-link,.el-button--primary.is-plain,.el-button--primary.is-text{--el-button-text-color:var(--el-color-primary);--el-button-bg-color:var(--el-color-primary-light-9);--el-button-border-color:var(--el-color-primary-light-5);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-bg-color:var(--el-color-primary);--el-button-hover-border-color:var(--el-color-primary);--el-button-active-text-color:var(--el-color-white)}.el-button--primary.is-link.is-disabled,.el-button--primary.is-link.is-disabled:active,.el-button--primary.is-link.is-disabled:focus,.el-button--primary.is-link.is-disabled:hover,.el-button--primary.is-plain.is-disabled,.el-button--primary.is-plain.is-disabled:active,.el-button--primary.is-plain.is-disabled:focus,.el-button--primary.is-plain.is-disabled:hover,.el-button--primary.is-text.is-disabled,.el-button--primary.is-text.is-disabled:active,.el-button--primary.is-text.is-disabled:focus,.el-button--primary.is-text.is-disabled:hover{color:var(--el-color-primary-light-5);background-color:var(--el-color-primary-light-9);border-color:var(--el-color-primary-light-8)}.el-button--success{--el-button-text-color:var(--el-color-white);--el-button-bg-color:var(--el-color-success);--el-button-border-color:var(--el-color-success);--el-button-outline-color:var(--el-color-success-light-5);--el-button-active-color:var(--el-color-success-dark-2);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-link-text-color:var(--el-color-success-light-5);--el-button-hover-bg-color:var(--el-color-success-light-3);--el-button-hover-border-color:var(--el-color-success-light-3);--el-button-active-bg-color:var(--el-color-success-dark-2);--el-button-active-border-color:var(--el-color-success-dark-2);--el-button-disabled-text-color:var(--el-color-white);--el-button-disabled-bg-color:var(--el-color-success-light-5);--el-button-disabled-border-color:var(--el-color-success-light-5)}.el-button--success.is-link,.el-button--success.is-plain,.el-button--success.is-text{--el-button-text-color:var(--el-color-success);--el-button-bg-color:var(--el-color-success-light-9);--el-button-border-color:var(--el-color-success-light-5);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-bg-color:var(--el-color-success);--el-button-hover-border-color:var(--el-color-success);--el-button-active-text-color:var(--el-color-white)}.el-button--success.is-link.is-disabled,.el-button--success.is-link.is-disabled:active,.el-button--success.is-link.is-disabled:focus,.el-button--success.is-link.is-disabled:hover,.el-button--success.is-plain.is-disabled,.el-button--success.is-plain.is-disabled:active,.el-button--success.is-plain.is-disabled:focus,.el-button--success.is-plain.is-disabled:hover,.el-button--success.is-text.is-disabled,.el-button--success.is-text.is-disabled:active,.el-button--success.is-text.is-disabled:focus,.el-button--success.is-text.is-disabled:hover{color:var(--el-color-success-light-5);background-color:var(--el-color-success-light-9);border-color:var(--el-color-success-light-8)}.el-button--warning{--el-button-text-color:var(--el-color-white);--el-button-bg-color:var(--el-color-warning);--el-button-border-color:var(--el-color-warning);--el-button-outline-color:var(--el-color-warning-light-5);--el-button-active-color:var(--el-color-warning-dark-2);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-link-text-color:var(--el-color-warning-light-5);--el-button-hover-bg-color:var(--el-color-warning-light-3);--el-button-hover-border-color:var(--el-color-warning-light-3);--el-button-active-bg-color:var(--el-color-warning-dark-2);--el-button-active-border-color:var(--el-color-warning-dark-2);--el-button-disabled-text-color:var(--el-color-white);--el-button-disabled-bg-color:var(--el-color-warning-light-5);--el-button-disabled-border-color:var(--el-color-warning-light-5)}.el-button--warning.is-link,.el-button--warning.is-plain,.el-button--warning.is-text{--el-button-text-color:var(--el-color-warning);--el-button-bg-color:var(--el-color-warning-light-9);--el-button-border-color:var(--el-color-warning-light-5);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-bg-color:var(--el-color-warning);--el-button-hover-border-color:var(--el-color-warning);--el-button-active-text-color:var(--el-color-white)}.el-button--warning.is-link.is-disabled,.el-button--warning.is-link.is-disabled:active,.el-button--warning.is-link.is-disabled:focus,.el-button--warning.is-link.is-disabled:hover,.el-button--warning.is-plain.is-disabled,.el-button--warning.is-plain.is-disabled:active,.el-button--warning.is-plain.is-disabled:focus,.el-button--warning.is-plain.is-disabled:hover,.el-button--warning.is-text.is-disabled,.el-button--warning.is-text.is-disabled:active,.el-button--warning.is-text.is-disabled:focus,.el-button--warning.is-text.is-disabled:hover{color:var(--el-color-warning-light-5);background-color:var(--el-color-warning-light-9);border-color:var(--el-color-warning-light-8)}.el-button--danger{--el-button-text-color:var(--el-color-white);--el-button-bg-color:var(--el-color-danger);--el-button-border-color:var(--el-color-danger);--el-button-outline-color:var(--el-color-danger-light-5);--el-button-active-color:var(--el-color-danger-dark-2);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-link-text-color:var(--el-color-danger-light-5);--el-button-hover-bg-color:var(--el-color-danger-light-3);--el-button-hover-border-color:var(--el-color-danger-light-3);--el-button-active-bg-color:var(--el-color-danger-dark-2);--el-button-active-border-color:var(--el-color-danger-dark-2);--el-button-disabled-text-color:var(--el-color-white);--el-button-disabled-bg-color:var(--el-color-danger-light-5);--el-button-disabled-border-color:var(--el-color-danger-light-5)}.el-button--danger.is-link,.el-button--danger.is-plain,.el-button--danger.is-text{--el-button-text-color:var(--el-color-danger);--el-button-bg-color:var(--el-color-danger-light-9);--el-button-border-color:var(--el-color-danger-light-5);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-bg-color:var(--el-color-danger);--el-button-hover-border-color:var(--el-color-danger);--el-button-active-text-color:var(--el-color-white)}.el-button--danger.is-link.is-disabled,.el-button--danger.is-link.is-disabled:active,.el-button--danger.is-link.is-disabled:focus,.el-button--danger.is-link.is-disabled:hover,.el-button--danger.is-plain.is-disabled,.el-button--danger.is-plain.is-disabled:active,.el-button--danger.is-plain.is-disabled:focus,.el-button--danger.is-plain.is-disabled:hover,.el-button--danger.is-text.is-disabled,.el-button--danger.is-text.is-disabled:active,.el-button--danger.is-text.is-disabled:focus,.el-button--danger.is-text.is-disabled:hover{color:var(--el-color-danger-light-5);background-color:var(--el-color-danger-light-9);border-color:var(--el-color-danger-light-8)}.el-button--info{--el-button-text-color:var(--el-color-white);--el-button-bg-color:var(--el-color-info);--el-button-border-color:var(--el-color-info);--el-button-outline-color:var(--el-color-info-light-5);--el-button-active-color:var(--el-color-info-dark-2);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-link-text-color:var(--el-color-info-light-5);--el-button-hover-bg-color:var(--el-color-info-light-3);--el-button-hover-border-color:var(--el-color-info-light-3);--el-button-active-bg-color:var(--el-color-info-dark-2);--el-button-active-border-color:var(--el-color-info-dark-2);--el-button-disabled-text-color:var(--el-color-white);--el-button-disabled-bg-color:var(--el-color-info-light-5);--el-button-disabled-border-color:var(--el-color-info-light-5)}.el-button--info.is-link,.el-button--info.is-plain,.el-button--info.is-text{--el-button-text-color:var(--el-color-info);--el-button-bg-color:var(--el-color-info-light-9);--el-button-border-color:var(--el-color-info-light-5);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-bg-color:var(--el-color-info);--el-button-hover-border-color:var(--el-color-info);--el-button-active-text-color:var(--el-color-white)}.el-button--info.is-link.is-disabled,.el-button--info.is-link.is-disabled:active,.el-button--info.is-link.is-disabled:focus,.el-button--info.is-link.is-disabled:hover,.el-button--info.is-plain.is-disabled,.el-button--info.is-plain.is-disabled:active,.el-button--info.is-plain.is-disabled:focus,.el-button--info.is-plain.is-disabled:hover,.el-button--info.is-text.is-disabled,.el-button--info.is-text.is-disabled:active,.el-button--info.is-text.is-disabled:focus,.el-button--info.is-text.is-disabled:hover{color:var(--el-color-info-light-5);background-color:var(--el-color-info-light-9);border-color:var(--el-color-info-light-8)}.el-button--large{--el-button-size:40px;height:var(--el-button-size);padding:12px 19px;font-size:var(--el-font-size-base);border-radius:var(--el-border-radius-base)}.el-button--large [class*=el-icon]+span{margin-left:8px}.el-button--large.is-round{padding:12px 19px}.el-button--large.is-circle{width:var(--el-button-size);padding:12px}.el-button--small{--el-button-size:24px;height:var(--el-button-size);padding:5px 11px;font-size:12px;border-radius:calc(var(--el-border-radius-base) - 1px)}.el-button--small [class*=el-icon]+span{margin-left:4px}.el-button--small.is-round{padding:5px 11px}.el-button--small.is-circle{width:var(--el-button-size);padding:5px}.simple-dialog{font-size:14px;overflow:hidden}.simple-dialog .el-dialog__header{background-color:#fff}.simple-dialog.bold .el-dialog__header{font-weight:500}.simple-dialog .el-dialog__header{padding:24px 24px 0;margin-right:0}.simple-dialog .el-dialog__body{padding:16px 24px}.simple-dialog .el-dialog__footer{padding:0 24px 24px}:root{--el-popup-modal-bg-color:var(--el-color-black);--el-popup-modal-opacity:.5}.v-modal-enter{-webkit-animation:v-modal-in var(--el-transition-duration-fast) ease;animation:v-modal-in var(--el-transition-duration-fast) ease}.v-modal-leave{-webkit-animation:v-modal-out var(--el-transition-duration-fast) ease forwards;animation:v-modal-out var(--el-transition-duration-fast) ease forwards}@-webkit-keyframes v-modal-in{0%{opacity:0}}@keyframes v-modal-in{0%{opacity:0}}@-webkit-keyframes v-modal-out{to{opacity:0}}@keyframes v-modal-out{to{opacity:0}}.v-modal{position:fixed;left:0;top:0;width:100%;height:100%;opacity:var(--el-popup-modal-opacity);background:var(--el-popup-modal-bg-color)}.el-popup-parent--hidden{overflow:hidden}.el-message-box{--el-messagebox-title-color:var(--el-text-color-primary);--el-messagebox-width:420px;--el-messagebox-border-radius:4px;--el-messagebox-font-size:var(--el-font-size-large);--el-messagebox-content-font-size:var(--el-font-size-base);--el-messagebox-content-color:var(--el-text-color-regular);--el-messagebox-error-font-size:12px;--el-messagebox-padding-primary:15px}.el-message-box{display:inline-block;max-width:var(--el-messagebox-width);width:100%;padding-bottom:10px;vertical-align:middle;background-color:var(--el-bg-color);border-radius:var(--el-messagebox-border-radius);border:1px solid var(--el-border-color-lighter);font-size:var(--el-messagebox-font-size);box-shadow:var(--el-box-shadow-light);text-align:left;overflow:hidden;-webkit-backface-visibility:hidden;backface-visibility:hidden;box-sizing:border-box}.el-message-box:focus{outline:0!important}.el-overlay.is-message-box .el-overlay-message-box{text-align:center;position:fixed;top:0;right:0;bottom:0;left:0;padding:16px;overflow:auto}.el-overlay.is-message-box .el-overlay-message-box:after{content:"";display:inline-block;height:100%;width:0;vertical-align:middle}.el-message-box.is-draggable .el-message-box__header{cursor:move;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.el-message-box__header{position:relative;padding:var(--el-messagebox-padding-primary);padding-bottom:10px}.el-message-box__title{padding-left:0;margin-bottom:0;font-size:var(--el-messagebox-font-size);line-height:1;color:var(--el-messagebox-title-color)}.el-message-box__headerbtn{position:absolute;top:var(--el-messagebox-padding-primary);right:var(--el-messagebox-padding-primary);padding:0;border:none;outline:0;background:0 0;font-size:var(--el-message-close-size,16px);cursor:pointer}.el-message-box__headerbtn .el-message-box__close{color:var(--el-color-info);font-size:inherit}.el-message-box__headerbtn:focus .el-message-box__close,.el-message-box__headerbtn:hover .el-message-box__close{color:var(--el-color-primary)}.el-message-box__content{padding:10px var(--el-messagebox-padding-primary);color:var(--el-messagebox-content-color);font-size:var(--el-messagebox-content-font-size)}.el-message-box__container{position:relative}.el-message-box__input{padding-top:15px}.el-message-box__input div.invalid>input{border-color:var(--el-color-error)}.el-message-box__input div.invalid>input:focus{border-color:var(--el-color-error)}.el-message-box__status{position:absolute;top:50%;transform:translateY(-50%);font-size:24px!important}.el-message-box__status:before{padding-left:1px}.el-message-box__status.el-icon{position:absolute}.el-message-box__status+.el-message-box__message{padding-left:36px;padding-right:12px;word-break:break-word}.el-message-box__status.el-message-box-icon--success{--el-messagebox-color:var(--el-color-success);color:var(--el-messagebox-color)}.el-message-box__status.el-message-box-icon--info{--el-messagebox-color:var(--el-color-info);color:var(--el-messagebox-color)}.el-message-box__status.el-message-box-icon--warning{--el-messagebox-color:var(--el-color-warning);color:var(--el-messagebox-color)}.el-message-box__status.el-message-box-icon--error{--el-messagebox-color:var(--el-color-error);color:var(--el-messagebox-color)}.el-message-box__message{margin:0}.el-message-box__message p{margin:0;line-height:24px}.el-message-box__errormsg{color:var(--el-color-error);font-size:var(--el-messagebox-error-font-size);min-height:18px;margin-top:2px}.el-message-box__btns{padding:5px 15px 0;display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center}.el-message-box__btns button:nth-child(2){margin-left:10px}.el-message-box__btns-reverse{flex-direction:row-reverse}.el-message-box--center .el-message-box__title{position:relative;display:flex;align-items:center;justify-content:center}.el-message-box--center .el-message-box__status{position:relative;top:auto;padding-right:5px;text-align:center;transform:translateY(-1px)}.el-message-box--center .el-message-box__message{margin-left:0}.el-message-box--center .el-message-box__btns{justify-content:center}.el-message-box--center .el-message-box__content{padding-left:calc(var(--el-messagebox-padding-primary) + 12px);padding-right:calc(var(--el-messagebox-padding-primary) + 12px);text-align:center}.fade-in-linear-enter-active .el-overlay-message-box{-webkit-animation:msgbox-fade-in var(--el-transition-duration);animation:msgbox-fade-in var(--el-transition-duration)}.fade-in-linear-leave-active .el-overlay-message-box{animation:msgbox-fade-in var(--el-transition-duration) reverse}@-webkit-keyframes msgbox-fade-in{0%{transform:translate3d(0,-20px,0);opacity:0}to{transform:translateZ(0);opacity:1}}@keyframes msgbox-fade-in{0%{transform:translate3d(0,-20px,0);opacity:0}to{transform:translateZ(0);opacity:1}}.el-textarea{--el-input-text-color:var(--el-text-color-regular);--el-input-border:var(--el-border);--el-input-hover-border:var(--el-border-color-hover);--el-input-focus-border:var(--el-color-primary);--el-input-transparent-border:0 0 0 1px transparent inset;--el-input-border-color:var(--el-border-color);--el-input-border-radius:var(--el-border-radius-base);--el-input-bg-color:var(--el-fill-color-blank);--el-input-icon-color:var(--el-text-color-placeholder);--el-input-placeholder-color:var(--el-text-color-placeholder);--el-input-hover-border-color:var(--el-border-color-hover);--el-input-clear-hover-color:var(--el-text-color-secondary);--el-input-focus-border-color:var(--el-color-primary);--el-input-width:100%}.el-textarea{position:relative;display:inline-block;width:100%;vertical-align:bottom;font-size:var(--el-font-size-base)}.el-textarea__inner{position:relative;display:block;resize:vertical;padding:5px 11px;line-height:1.5;box-sizing:border-box;width:100%;font-size:inherit;font-family:inherit;color:var(--el-input-text-color,var(--el-text-color-regular));background-color:var(--el-input-bg-color,var(--el-fill-color-blank));background-image:none;-webkit-appearance:none;box-shadow:0 0 0 1px var(--el-input-border-color,var(--el-border-color)) inset;border-radius:var(--el-input-border-radius,var(--el-border-radius-base));transition:var(--el-transition-box-shadow);border:none}.el-textarea__inner::-moz-placeholder{color:var(--el-input-placeholder-color,var(--el-text-color-placeholder))}.el-textarea__inner:-ms-input-placeholder{color:var(--el-input-placeholder-color,var(--el-text-color-placeholder))}.el-textarea__inner::placeholder{color:var(--el-input-placeholder-color,var(--el-text-color-placeholder))}.el-textarea__inner:hover{box-shadow:0 0 0 1px var(--el-input-hover-border-color) inset}.el-textarea__inner:focus{outline:0;box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset}.el-textarea .el-input__count{color:var(--el-color-info);background:var(--el-fill-color-blank);position:absolute;font-size:12px;line-height:14px;bottom:5px;right:10px}.el-textarea.is-disabled .el-textarea__inner{box-shadow:0 0 0 1px var(--el-disabled-border-color) inset;background-color:var(--el-disabled-bg-color);color:var(--el-disabled-text-color);cursor:not-allowed}.el-textarea.is-disabled .el-textarea__inner::-moz-placeholder{color:var(--el-text-color-placeholder)}.el-textarea.is-disabled .el-textarea__inner:-ms-input-placeholder{color:var(--el-text-color-placeholder)}.el-textarea.is-disabled .el-textarea__inner::placeholder{color:var(--el-text-color-placeholder)}.el-textarea.is-exceed .el-textarea__inner{box-shadow:0 0 0 1px var(--el-color-danger) inset}.el-textarea.is-exceed .el-input__count{color:var(--el-color-danger)}.el-input{--el-input-text-color:var(--el-text-color-regular);--el-input-border:var(--el-border);--el-input-hover-border:var(--el-border-color-hover);--el-input-focus-border:var(--el-color-primary);--el-input-transparent-border:0 0 0 1px transparent inset;--el-input-border-color:var(--el-border-color);--el-input-border-radius:var(--el-border-radius-base);--el-input-bg-color:var(--el-fill-color-blank);--el-input-icon-color:var(--el-text-color-placeholder);--el-input-placeholder-color:var(--el-text-color-placeholder);--el-input-hover-border-color:var(--el-border-color-hover);--el-input-clear-hover-color:var(--el-text-color-secondary);--el-input-focus-border-color:var(--el-color-primary);--el-input-width:100%}.el-input{--el-input-height:var(--el-component-size);position:relative;font-size:var(--el-font-size-base);display:inline-flex;width:var(--el-input-width);line-height:var(--el-input-height);box-sizing:border-box;vertical-align:middle}.el-input::-webkit-scrollbar{z-index:11;width:6px}.el-input::-webkit-scrollbar:horizontal{height:6px}.el-input::-webkit-scrollbar-thumb{border-radius:5px;width:6px;background:var(--el-text-color-disabled)}.el-input::-webkit-scrollbar-corner{background:var(--el-fill-color-blank)}.el-input::-webkit-scrollbar-track{background:var(--el-fill-color-blank)}.el-input::-webkit-scrollbar-track-piece{background:var(--el-fill-color-blank);width:6px}.el-input .el-input__clear,.el-input .el-input__password{color:var(--el-input-icon-color);font-size:14px;cursor:pointer}.el-input .el-input__clear:hover,.el-input .el-input__password:hover{color:var(--el-input-clear-hover-color)}.el-input .el-input__count{height:100%;display:inline-flex;align-items:center;color:var(--el-color-info);font-size:12px}.el-input .el-input__count .el-input__count-inner{background:var(--el-fill-color-blank);line-height:initial;display:inline-block;padding-left:8px}.el-input__wrapper{display:inline-flex;flex-grow:1;align-items:center;justify-content:center;padding:1px 11px;background-color:var(--el-input-bg-color,var(--el-fill-color-blank));background-image:none;border-radius:var(--el-input-border-radius,var(--el-border-radius-base));cursor:text;transition:var(--el-transition-box-shadow);transform:translateZ(0);box-shadow:0 0 0 1px var(--el-input-border-color,var(--el-border-color)) inset}.el-input__wrapper:hover{box-shadow:0 0 0 1px var(--el-input-hover-border-color) inset}.el-input__wrapper.is-focus{box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset}.el-input__inner{--el-input-inner-height:calc(var(--el-input-height, 32px) - 2px);width:100%;flex-grow:1;-webkit-appearance:none;color:var(--el-input-text-color,var(--el-text-color-regular));font-size:inherit;height:var(--el-input-inner-height);line-height:var(--el-input-inner-height);padding:0;outline:0;border:none;background:0 0;box-sizing:border-box}.el-input__inner:focus{outline:0}.el-input__inner::-moz-placeholder{color:var(--el-input-placeholder-color,var(--el-text-color-placeholder))}.el-input__inner:-ms-input-placeholder{color:var(--el-input-placeholder-color,var(--el-text-color-placeholder))}.el-input__inner::placeholder{color:var(--el-input-placeholder-color,var(--el-text-color-placeholder))}.el-input__inner[type=password]::-ms-reveal{display:none}.el-input__prefix{display:inline-flex;white-space:nowrap;flex-shrink:0;flex-wrap:nowrap;height:100%;text-align:center;color:var(--el-input-icon-color,var(--el-text-color-placeholder));transition:all var(--el-transition-duration);pointer-events:none}.el-input__prefix-inner{pointer-events:all;display:inline-flex;align-items:center;justify-content:center}.el-input__prefix-inner>:last-child{margin-right:8px}.el-input__prefix-inner>:first-child,.el-input__prefix-inner>:first-child.el-input__icon{margin-left:0}.el-input__suffix{display:inline-flex;white-space:nowrap;flex-shrink:0;flex-wrap:nowrap;height:100%;text-align:center;color:var(--el-input-icon-color,var(--el-text-color-placeholder));transition:all var(--el-transition-duration);pointer-events:none}.el-input__suffix-inner{pointer-events:all;display:inline-flex;align-items:center;justify-content:center}.el-input__suffix-inner>:first-child{margin-left:8px}.el-input .el-input__icon{height:inherit;line-height:inherit;display:flex;justify-content:center;align-items:center;transition:all var(--el-transition-duration);margin-left:8px}.el-input__validateIcon{pointer-events:none}.el-input.is-active .el-input__wrapper{box-shadow:0 0 0 1px var(--el-input-focus-color,) inset}.el-input.is-disabled{cursor:not-allowed}.el-input.is-disabled .el-input__wrapper{background-color:var(--el-disabled-bg-color);box-shadow:0 0 0 1px var(--el-disabled-border-color) inset}.el-input.is-disabled .el-input__inner{color:var(--el-disabled-text-color);-webkit-text-fill-color:var(--el-disabled-text-color);cursor:not-allowed}.el-input.is-disabled .el-input__inner::-moz-placeholder{color:var(--el-text-color-placeholder)}.el-input.is-disabled .el-input__inner:-ms-input-placeholder{color:var(--el-text-color-placeholder)}.el-input.is-disabled .el-input__inner::placeholder{color:var(--el-text-color-placeholder)}.el-input.is-disabled .el-input__icon{cursor:not-allowed}.el-input.is-exceed .el-input__wrapper{box-shadow:0 0 0 1px var(--el-color-danger) inset}.el-input.is-exceed .el-input__suffix .el-input__count{color:var(--el-color-danger)}.el-input--large{--el-input-height:var(--el-component-size-large);font-size:14px}.el-input--large .el-input__wrapper{padding:1px 15px}.el-input--large .el-input__inner{--el-input-inner-height:calc(var(--el-input-height, 40px) - 2px)}.el-input--small{--el-input-height:var(--el-component-size-small);font-size:12px}.el-input--small .el-input__wrapper{padding:1px 7px}.el-input--small .el-input__inner{--el-input-inner-height:calc(var(--el-input-height, 24px) - 2px)}.el-input-group{display:inline-flex;width:100%;align-items:stretch}.el-input-group__append,.el-input-group__prepend{background-color:var(--el-fill-color-light);color:var(--el-color-info);position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:100%;border-radius:var(--el-input-border-radius);padding:0 20px;white-space:nowrap}.el-input-group__append:focus,.el-input-group__prepend:focus{outline:0}.el-input-group__append .el-button,.el-input-group__append .el-select,.el-input-group__prepend .el-button,.el-input-group__prepend .el-select{display:inline-block;margin:0 -20px}.el-input-group__append button.el-button,.el-input-group__append button.el-button:hover,.el-input-group__append div.el-select .el-input__wrapper,.el-input-group__append div.el-select:hover .el-input__wrapper,.el-input-group__prepend button.el-button,.el-input-group__prepend button.el-button:hover,.el-input-group__prepend div.el-select .el-input__wrapper,.el-input-group__prepend div.el-select:hover .el-input__wrapper{border-color:transparent;background-color:transparent;color:inherit}.el-input-group__append .el-button,.el-input-group__append .el-input,.el-input-group__prepend .el-button,.el-input-group__prepend .el-input{font-size:inherit}.el-input-group__prepend{border-right:0;border-top-right-radius:0;border-bottom-right-radius:0;box-shadow:1px 0 0 0 var(--el-input-border-color) inset,0 1px 0 0 var(--el-input-border-color) inset,0 -1px 0 0 var(--el-input-border-color) inset}.el-input-group__append{border-left:0;border-top-left-radius:0;border-bottom-left-radius:0;box-shadow:0 1px 0 0 var(--el-input-border-color) inset,0 -1px 0 0 var(--el-input-border-color) inset,-1px 0 0 0 var(--el-input-border-color) inset}.el-input-group--prepend>.el-input__wrapper{border-top-left-radius:0;border-bottom-left-radius:0}.el-input-group--prepend .el-input-group__prepend .el-select .el-input .el-input__inner{box-shadow:none!important}.el-input-group--prepend .el-input-group__prepend .el-select .el-input .el-input__wrapper{border-top-right-radius:0;border-bottom-right-radius:0;box-shadow:1px 0 0 0 var(--el-input-border-color) inset,0 1px 0 0 var(--el-input-border-color) inset,0 -1px 0 0 var(--el-input-border-color) inset}.el-input-group--prepend .el-input-group__prepend .el-select .el-input.is-focus .el-input__inner{box-shadow:none!important}.el-input-group--prepend .el-input-group__prepend .el-select .el-input.is-focus .el-input__wrapper{box-shadow:1px 0 0 0 var(--el-input-focus-border-color) inset,1px 0 0 0 var(--el-input-focus-border-color),0 1px 0 0 var(--el-input-focus-border-color) inset,0 -1px 0 0 var(--el-input-focus-border-color) inset!important;z-index:2}.el-input-group--prepend .el-input-group__prepend .el-select .el-input.is-focus .el-input__wrapper:focus{outline:0;z-index:2;box-shadow:1px 0 0 0 var(--el-input-focus-border-color) inset,1px 0 0 0 var(--el-input-focus-border-color),0 1px 0 0 var(--el-input-focus-border-color) inset,0 -1px 0 0 var(--el-input-focus-border-color) inset!important}.el-input-group--prepend .el-input-group__prepend .el-select:hover .el-input__inner{box-shadow:none!important}.el-input-group--prepend .el-input-group__prepend .el-select:hover .el-input__wrapper{z-index:1;box-shadow:1px 0 0 0 var(--el-input-hover-border-color) inset,1px 0 0 0 var(--el-input-hover-border-color),0 1px 0 0 var(--el-input-hover-border-color) inset,0 -1px 0 0 var(--el-input-hover-border-color) inset!important}.el-input-group--append>.el-input__wrapper{border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group--append .el-input-group__append .el-select .el-input .el-input__inner{box-shadow:none!important}.el-input-group--append .el-input-group__append .el-select .el-input .el-input__wrapper{border-top-left-radius:0;border-bottom-left-radius:0;box-shadow:0 1px 0 0 var(--el-input-border-color) inset,0 -1px 0 0 var(--el-input-border-color) inset,-1px 0 0 0 var(--el-input-border-color) inset}.el-input-group--append .el-input-group__append .el-select .el-input.is-focus .el-input__inner{box-shadow:none!important}.el-input-group--append .el-input-group__append .el-select .el-input.is-focus .el-input__wrapper{z-index:2;box-shadow:-1px 0 0 0 var(--el-input-focus-border-color),-1px 0 0 0 var(--el-input-focus-border-color) inset,0 1px 0 0 var(--el-input-focus-border-color) inset,0 -1px 0 0 var(--el-input-focus-border-color) inset!important}.el-input-group--append .el-input-group__append .el-select:hover .el-input__inner{box-shadow:none!important}.el-input-group--append .el-input-group__append .el-select:hover .el-input__wrapper{z-index:1;box-shadow:-1px 0 0 0 var(--el-input-hover-border-color),-1px 0 0 0 var(--el-input-hover-border-color) inset,0 1px 0 0 var(--el-input-hover-border-color) inset,0 -1px 0 0 var(--el-input-hover-border-color) inset!important}.el-skeleton{--el-skeleton-color:var(--el-fill-color);--el-skeleton-to-color:var(--el-fill-color-darker)}@-webkit-keyframes el-skeleton-loading{0%{background-position:100% 50%}to{background-position:0 50%}}@keyframes el-skeleton-loading{0%{background-position:100% 50%}to{background-position:0 50%}}.el-skeleton{width:100%}.el-skeleton__first-line,.el-skeleton__paragraph{height:16px;margin-top:16px;background:var(--el-skeleton-color)}.el-skeleton.is-animated .el-skeleton__item{background:linear-gradient(90deg,var(--el-skeleton-color) 25%,var(--el-skeleton-to-color) 37%,var(--el-skeleton-color) 63%);background-size:400% 100%;-webkit-animation:el-skeleton-loading 1.4s ease infinite;animation:el-skeleton-loading 1.4s ease infinite}.el-skeleton{--el-skeleton-circle-size:var(--el-avatar-size)}.el-skeleton__item{background:var(--el-skeleton-color);display:inline-block;height:16px;border-radius:var(--el-border-radius-base);width:100%}.el-skeleton__circle{border-radius:50%;width:var(--el-skeleton-circle-size);height:var(--el-skeleton-circle-size);line-height:var(--el-skeleton-circle-size)}.el-skeleton__button{height:40px;width:64px;border-radius:4px}.el-skeleton__p{width:100%}.el-skeleton__p.is-last{width:61%}.el-skeleton__p.is-first{width:33%}.el-skeleton__text{width:100%;height:var(--el-font-size-small)}.el-skeleton__caption{height:var(--el-font-size-extra-small)}.el-skeleton__h1{height:var(--el-font-size-extra-large)}.el-skeleton__h3{height:var(--el-font-size-large)}.el-skeleton__h5{height:var(--el-font-size-medium)}.el-skeleton__image{width:unset;display:flex;align-items:center;justify-content:center;border-radius:0}.el-skeleton__image svg{color:var(--el-svg-monochrome-grey);fill:currentColor;width:22%;height:22%}@media screen and (min-width: 769px){.scroll-bar-style[data-v-85c393f1]:hover::-webkit-scrollbar-thumb,.chat-history[data-v-85c393f1]:hover::-webkit-scrollbar-thumb{box-shadow:inset 0 0 5px #0000001a;background:#f7f7fc}.scroll-bar-style[data-v-85c393f1]::-webkit-scrollbar,.chat-history[data-v-85c393f1]::-webkit-scrollbar{width:5px;height:5px}.scroll-bar-style[data-v-85c393f1]::-webkit-scrollbar-thumb,.chat-history[data-v-85c393f1]::-webkit-scrollbar-thumb{border-radius:10px;box-shadow:inset 0 0 5px #0000;background:#0000}.scroll-bar-style[data-v-85c393f1]::-webkit-scrollbar-track,.chat-history[data-v-85c393f1]::-webkit-scrollbar-track{border-radius:10px;background:#0000}}.ske-item[data-v-85c393f1]{width:100%;margin-bottom:16px}.chat-history[data-v-85c393f1]{position:relative;height:100%;overflow-y:auto;padding:0 4px 0 8px}.chat-history .chat-no-data[data-v-85c393f1]{height:calc(100% - 120px);flex-direction:column;display:flex;justify-content:center;align-items:center}.chat-history .chat-history-list[data-v-85c393f1]{position:relative}.chat-history .his-item-wrap[data-v-85c393f1]{min-width:0;width:100%;padding:4px 6px}.chat-history .his-item-wrap .his-item-title[data-v-85c393f1]{display:flex;align-items:center}.chat-history .his-item-wrap .his-item-title .c-icon[data-v-85c393f1]{margin-right:4px}.chat-history .chat-history-item[data-v-85c393f1],.chat-history .chat-history-clear[data-v-85c393f1]{color:var(--color-text-desc);position:relative;opacity:1;display:flex;align-items:center;cursor:pointer;transition:opacity .3s}.chat-history .chat-history-item i[data-v-85c393f1],.chat-history .chat-history-clear i[data-v-85c393f1]{margin-right:10px}.chat-history .chat-history-item[data-v-85c393f1]{color:var(--color-text-primary);font-size:14px;border-radius:8px;margin-bottom:4px;box-sizing:border-box;border:1px solid transparent}.chat-history .chat-history-item[data-v-85c393f1]:hover{background:#fff;box-shadow:0 2px 4px #0000000a;color:var(--color-text-active);border:1px solid #f3f0fe}.chat-history .chat-history-item:hover .chat-history-message[data-v-85c393f1]{font-weight:600}.chat-history .chat-history-item:hover .his-action[data-v-85c393f1]{opacity:1}.chat-history .chat-history-item.selected[data-v-85c393f1]{background:#fff;box-shadow:0 2px 4px #0000000a;border:1px solid #f3f0fe;color:var(--color-text-active)}.chat-history .chat-history-item.selected .chat-history-message[data-v-85c393f1]{font-weight:600}.chat-history .chat-history-item img[data-v-85c393f1]{width:18px;height:18px;margin-right:8px}.chat-history .chat-history-item:hover .icon-delete[data-v-85c393f1]{opacity:1}.chat-history .chat-history-item .chat-history-message[data-v-85c393f1]{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:22px;font-weight:400}.chat-history .chat-history-item .his-action[data-v-85c393f1]{display:flex;opacity:0;align-items:center;position:absolute;right:4px;top:0;width:16px;height:100%;z-index:2}.chat-history .chat-history-item .chat-history-ctime[data-v-85c393f1]{line-height:16px;padding-top:4px;color:#999aaa}.chat-history .chat-history-item .c-icon[data-v-85c393f1]{z-index:9}.chat-history .chat-history-item .c-icon svg[data-v-85c393f1]{border-radius:4px;background:#f3f0fe;width:16px;height:16px}.chat-history .chat-history-item .icon-more[data-v-85c393f1]{height:100%;display:flex;align-items:center}.chat-history .chat-history-item .icon-more span[data-v-85c393f1]{line-height:0;border-radius:0;transition:all .2s}.chat-history .chat-history-item .icon-more:hover span[data-v-85c393f1]{border-radius:4px;background:#f2f2f5}.chat-history .edit-input[data-v-85c393f1]{height:22px;line-height:22px}.chat-history .edit-input[data-v-85c393f1] .el-input__wrapper{box-shadow:none;padding:1px 0}.chat-history .edit-input[data-v-85c393f1] .el-input__inner{--el-input-inner-height: 22px;padding-right:0}.chat-history .edit-input[data-v-85c393f1] .el-input__suffix{position:static}.chat-history .chat-history-clear[data-v-85c393f1]{position:absolute;right:8px;top:12px;margin-top:0;font-size:12px;white-space:nowrap}.chat-history .chat-history-clear img[data-v-85c393f1]{width:16px;height:16px;margin-right:9px}@media screen and (min-width: 769px){.scroll-bar-style[data-v-72f8105a]:hover::-webkit-scrollbar-thumb,.chat-history[data-v-72f8105a]:hover::-webkit-scrollbar-thumb{box-shadow:inset 0 0 5px #0000001a;background:#f7f7fc}.scroll-bar-style[data-v-72f8105a]::-webkit-scrollbar,.chat-history[data-v-72f8105a]::-webkit-scrollbar{width:5px;height:5px}.scroll-bar-style[data-v-72f8105a]::-webkit-scrollbar-thumb,.chat-history[data-v-72f8105a]::-webkit-scrollbar-thumb{border-radius:10px;box-shadow:inset 0 0 5px #0000;background:#0000}.scroll-bar-style[data-v-72f8105a]::-webkit-scrollbar-track,.chat-history[data-v-72f8105a]::-webkit-scrollbar-track{border-radius:10px;background:#0000}}.ske-item[data-v-72f8105a]{width:100%;margin-bottom:16px}.chat-history[data-v-72f8105a]{position:relative;height:100%;overflow-y:auto;padding:0 4px 0 8px}.chat-history .chat-no-data[data-v-72f8105a]{height:calc(100% - 120px);flex-direction:column;display:flex;justify-content:center;align-items:center}.chat-history .chat-history-list[data-v-72f8105a]{position:relative}.chat-history .his-item-wrap[data-v-72f8105a]{min-width:0;width:100%;padding:4px 6px}.chat-history .his-item-wrap .his-item-title[data-v-72f8105a]{display:flex;align-items:center}.chat-history .his-item-wrap .his-item-title .c-icon[data-v-72f8105a]{margin-right:4px}.chat-history .chat-history-item[data-v-72f8105a],.chat-history .chat-history-clear[data-v-72f8105a]{color:var(--color-text-desc);position:relative;opacity:1;display:flex;align-items:center;cursor:pointer;transition:opacity .3s}.chat-history .chat-history-item i[data-v-72f8105a],.chat-history .chat-history-clear i[data-v-72f8105a]{margin-right:10px}.chat-history .chat-history-item[data-v-72f8105a]{color:var(--color-text-primary);font-size:14px;border-radius:8px;margin-bottom:4px;box-sizing:border-box;border:1px solid transparent}.chat-history .chat-history-item[data-v-72f8105a]:not(.disabled):hover{background:#fff;box-shadow:0 2px 4px #0000000a;color:var(--color-text-active);border:1px solid #f3f0fe}.chat-history .chat-history-item:not(.disabled):hover .chat-history-message[data-v-72f8105a]{font-weight:600}.chat-history .chat-history-item:not(.disabled):hover .his-action[data-v-72f8105a]{opacity:1}.chat-history .chat-history-item.selected[data-v-72f8105a]{background:#fff;box-shadow:0 2px 4px #0000000a;border:1px solid #f3f0fe;color:var(--color-text-active)}.chat-history .chat-history-item.selected .chat-history-message[data-v-72f8105a]{font-weight:600}.chat-history .chat-history-item img[data-v-72f8105a]{width:18px;height:18px;margin-right:8px}.chat-history .chat-history-item:hover .icon-delete[data-v-72f8105a]{opacity:1}.chat-history .chat-history-item .chat-history-message[data-v-72f8105a]{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:22px;font-weight:400}.chat-history .chat-history-item .his-action[data-v-72f8105a]{display:flex;opacity:0;align-items:center;position:absolute;right:4px;top:0;width:16px;height:100%;z-index:2}.chat-history .chat-history-item .chat-history-ctime[data-v-72f8105a]{line-height:16px;padding-top:4px;color:#999aaa}.chat-history .chat-history-item .c-icon[data-v-72f8105a]{z-index:9}.chat-history .chat-history-item .c-icon svg[data-v-72f8105a]{border-radius:4px;background:#f3f0fe;width:16px;height:16px}.chat-history .chat-history-item .icon-more[data-v-72f8105a]{height:100%;display:flex;align-items:center}.chat-history .chat-history-item .icon-more span[data-v-72f8105a]{line-height:0;border-radius:0;transition:all .2s}.chat-history .chat-history-item .icon-more:hover span[data-v-72f8105a]{border-radius:4px;background:#f2f2f5}.chat-history .edit-input[data-v-72f8105a]{height:22px;line-height:22px}.chat-history .edit-input[data-v-72f8105a] .el-input__wrapper{box-shadow:none;padding:1px 0}.chat-history .edit-input[data-v-72f8105a] .el-input__inner{--el-input-inner-height: 22px;padding-right:0}.chat-history .edit-input[data-v-72f8105a] .el-input__suffix{position:static}.chat-history .chat-history-clear[data-v-72f8105a]{position:absolute;right:8px;top:12px;margin-top:0;font-size:12px;white-space:nowrap}.chat-history .chat-history-clear img[data-v-72f8105a]{width:16px;height:16px;margin-right:9px}.el-popper.his-action-popover{padding:6px 0;border:none;border-radius:8px;background:#fff}.el-popper.his-action-popover.el-popper{min-width:unset}.el-popper.his-action-popover .his-action-popover-content ul{padding:0 10px;box-sizing:border-box}.el-popper.his-action-popover .his-action-popover-content ul li{display:flex;align-items:center;justify-content:center;padding:4px 0;text-align:center;cursor:pointer;transition:all .2s}.el-popper.his-action-popover .his-action-popover-content ul li span{margin-left:8px;color:var(--color-text-primary);font-size:14px;font-weight:400;line-height:22px}.el-popper.his-action-popover .his-action-popover-content ul li+li{border-top:1px solid var(--color-input-border)}.el-popper.his-action-popover .his-action-popover-content ul li:hover span,.el-popper.his-action-popover .his-action-popover-content ul li:hover svg{color:var(--color-text-active)}.el-checkbox{--el-checkbox-font-size:14px;--el-checkbox-font-weight:var(--el-font-weight-primary);--el-checkbox-text-color:var(--el-text-color-regular);--el-checkbox-input-height:14px;--el-checkbox-input-width:14px;--el-checkbox-border-radius:var(--el-border-radius-small);--el-checkbox-bg-color:var(--el-fill-color-blank);--el-checkbox-input-border:var(--el-border);--el-checkbox-disabled-border-color:var(--el-border-color);--el-checkbox-disabled-input-fill:var(--el-fill-color-light);--el-checkbox-disabled-icon-color:var(--el-text-color-placeholder);--el-checkbox-disabled-checked-input-fill:var(--el-border-color-extra-light);--el-checkbox-disabled-checked-input-border-color:var(--el-border-color);--el-checkbox-disabled-checked-icon-color:var(--el-text-color-placeholder);--el-checkbox-checked-text-color:var(--el-color-primary);--el-checkbox-checked-input-border-color:var(--el-color-primary);--el-checkbox-checked-bg-color:var(--el-color-primary);--el-checkbox-checked-icon-color:var(--el-color-white);--el-checkbox-input-border-color-hover:var(--el-color-primary)}.el-checkbox{color:var(--el-checkbox-text-color);font-weight:var(--el-checkbox-font-weight);font-size:var(--el-font-size-base);position:relative;cursor:pointer;display:inline-flex;align-items:center;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;margin-right:30px;height:var(--el-checkbox-height,32px)}.el-checkbox.is-disabled{cursor:not-allowed}.el-checkbox.is-bordered{padding:0 15px 0 9px;border-radius:var(--el-border-radius-base);border:var(--el-border);box-sizing:border-box}.el-checkbox.is-bordered.is-checked{border-color:var(--el-color-primary)}.el-checkbox.is-bordered.is-disabled{border-color:var(--el-border-color-lighter)}.el-checkbox.is-bordered.el-checkbox--large{padding:0 19px 0 11px;border-radius:var(--el-border-radius-base)}.el-checkbox.is-bordered.el-checkbox--large .el-checkbox__label{font-size:var(--el-font-size-base)}.el-checkbox.is-bordered.el-checkbox--large .el-checkbox__inner{height:14px;width:14px}.el-checkbox.is-bordered.el-checkbox--small{padding:0 11px 0 7px;border-radius:calc(var(--el-border-radius-base) - 1px)}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__label{font-size:12px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner{height:12px;width:12px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner:after{height:6px;width:2px}.el-checkbox input:focus-visible+.el-checkbox__inner{outline:2px solid var(--el-checkbox-input-border-color-hover);outline-offset:1px;border-radius:var(--el-checkbox-border-radius)}.el-checkbox__input{white-space:nowrap;cursor:pointer;outline:0;display:inline-flex;position:relative}.el-checkbox__input.is-disabled .el-checkbox__inner{background-color:var(--el-checkbox-disabled-input-fill);border-color:var(--el-checkbox-disabled-border-color);cursor:not-allowed}.el-checkbox__input.is-disabled .el-checkbox__inner:after{cursor:not-allowed;border-color:var(--el-checkbox-disabled-icon-color)}.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner{background-color:var(--el-checkbox-disabled-checked-input-fill);border-color:var(--el-checkbox-disabled-checked-input-border-color)}.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner:after{border-color:var(--el-checkbox-disabled-checked-icon-color)}.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner{background-color:var(--el-checkbox-disabled-checked-input-fill);border-color:var(--el-checkbox-disabled-checked-input-border-color)}.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner:before{background-color:var(--el-checkbox-disabled-checked-icon-color);border-color:var(--el-checkbox-disabled-checked-icon-color)}.el-checkbox__input.is-disabled+span.el-checkbox__label{color:var(--el-disabled-text-color);cursor:not-allowed}.el-checkbox__input.is-checked .el-checkbox__inner{background-color:var(--el-checkbox-checked-bg-color);border-color:var(--el-checkbox-checked-input-border-color)}.el-checkbox__input.is-checked .el-checkbox__inner:after{transform:rotate(45deg) scaleY(1);border-color:var(--el-checkbox-checked-icon-color)}.el-checkbox__input.is-checked+.el-checkbox__label{color:var(--el-checkbox-checked-text-color)}.el-checkbox__input.is-focus:not(.is-checked) .el-checkbox__original:not(:focus-visible){border-color:var(--el-checkbox-input-border-color-hover)}.el-checkbox__input.is-indeterminate .el-checkbox__inner{background-color:var(--el-checkbox-checked-bg-color);border-color:var(--el-checkbox-checked-input-border-color)}.el-checkbox__input.is-indeterminate .el-checkbox__inner:before{content:"";position:absolute;display:block;background-color:var(--el-checkbox-checked-icon-color);height:2px;transform:scale(.5);left:0;right:0;top:5px}.el-checkbox__input.is-indeterminate .el-checkbox__inner:after{display:none}.el-checkbox__inner{display:inline-block;position:relative;border:var(--el-checkbox-input-border);border-radius:var(--el-checkbox-border-radius);box-sizing:border-box;width:var(--el-checkbox-input-width);height:var(--el-checkbox-input-height);background-color:var(--el-checkbox-bg-color);z-index:var(--el-index-normal);transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46),outline .25s cubic-bezier(.71,-.46,.29,1.46)}.el-checkbox__inner:hover{border-color:var(--el-checkbox-input-border-color-hover)}.el-checkbox__inner:after{box-sizing:content-box;content:"";border:1px solid transparent;border-left:0;border-top:0;height:7px;left:4px;position:absolute;top:1px;transform:rotate(45deg) scaleY(0);width:3px;transition:transform .15s ease-in 50ms;transform-origin:center}.el-checkbox__original{opacity:0;outline:0;position:absolute;margin:0;width:0;height:0;z-index:-1}.el-checkbox__label{display:inline-block;padding-left:8px;line-height:1;font-size:var(--el-checkbox-font-size)}.el-checkbox.el-checkbox--large{height:40px}.el-checkbox.el-checkbox--large .el-checkbox__label{font-size:14px}.el-checkbox.el-checkbox--large .el-checkbox__inner{width:14px;height:14px}.el-checkbox.el-checkbox--small{height:24px}.el-checkbox.el-checkbox--small .el-checkbox__label{font-size:12px}.el-checkbox.el-checkbox--small .el-checkbox__inner{width:12px;height:12px}.el-checkbox.el-checkbox--small .el-checkbox__input.is-indeterminate .el-checkbox__inner:before{top:4px}.el-checkbox.el-checkbox--small .el-checkbox__inner:after{width:2px;height:6px}.el-checkbox:last-of-type{margin-right:0}.el-row{display:flex;flex-wrap:wrap;position:relative;box-sizing:border-box}.el-row.is-justify-center{justify-content:center}.el-row.is-justify-end{justify-content:flex-end}.el-row.is-justify-space-between{justify-content:space-between}.el-row.is-justify-space-around{justify-content:space-around}.el-row.is-justify-space-evenly{justify-content:space-evenly}.el-row.is-align-top{align-items:flex-start}.el-row.is-align-middle{align-items:center}.el-row.is-align-bottom{align-items:flex-end}[class*=el-col-]{box-sizing:border-box}[class*=el-col-].is-guttered{display:block;min-height:1px}.el-col-0,.el-col-0.is-guttered{display:none}.el-col-0{max-width:0%;flex:0 0 0%}.el-col-offset-0{margin-left:0}.el-col-pull-0{position:relative;right:0}.el-col-push-0{position:relative;left:0}.el-col-1{max-width:4.1666666667%;flex:0 0 4.1666666667%}.el-col-offset-1{margin-left:4.1666666667%}.el-col-pull-1{position:relative;right:4.1666666667%}.el-col-push-1{position:relative;left:4.1666666667%}.el-col-2{max-width:8.3333333333%;flex:0 0 8.3333333333%}.el-col-offset-2{margin-left:8.3333333333%}.el-col-pull-2{position:relative;right:8.3333333333%}.el-col-push-2{position:relative;left:8.3333333333%}.el-col-3{max-width:12.5%;flex:0 0 12.5%}.el-col-offset-3{margin-left:12.5%}.el-col-pull-3{position:relative;right:12.5%}.el-col-push-3{position:relative;left:12.5%}.el-col-4{max-width:16.6666666667%;flex:0 0 16.6666666667%}.el-col-offset-4{margin-left:16.6666666667%}.el-col-pull-4{position:relative;right:16.6666666667%}.el-col-push-4{position:relative;left:16.6666666667%}.el-col-5{max-width:20.8333333333%;flex:0 0 20.8333333333%}.el-col-offset-5{margin-left:20.8333333333%}.el-col-pull-5{position:relative;right:20.8333333333%}.el-col-push-5{position:relative;left:20.8333333333%}.el-col-6{max-width:25%;flex:0 0 25%}.el-col-offset-6{margin-left:25%}.el-col-pull-6{position:relative;right:25%}.el-col-push-6{position:relative;left:25%}.el-col-7{max-width:29.1666666667%;flex:0 0 29.1666666667%}.el-col-offset-7{margin-left:29.1666666667%}.el-col-pull-7{position:relative;right:29.1666666667%}.el-col-push-7{position:relative;left:29.1666666667%}.el-col-8{max-width:33.3333333333%;flex:0 0 33.3333333333%}.el-col-offset-8{margin-left:33.3333333333%}.el-col-pull-8{position:relative;right:33.3333333333%}.el-col-push-8{position:relative;left:33.3333333333%}.el-col-9{max-width:37.5%;flex:0 0 37.5%}.el-col-offset-9{margin-left:37.5%}.el-col-pull-9{position:relative;right:37.5%}.el-col-push-9{position:relative;left:37.5%}.el-col-10{max-width:41.6666666667%;flex:0 0 41.6666666667%}.el-col-offset-10{margin-left:41.6666666667%}.el-col-pull-10{position:relative;right:41.6666666667%}.el-col-push-10{position:relative;left:41.6666666667%}.el-col-11{max-width:45.8333333333%;flex:0 0 45.8333333333%}.el-col-offset-11{margin-left:45.8333333333%}.el-col-pull-11{position:relative;right:45.8333333333%}.el-col-push-11{position:relative;left:45.8333333333%}.el-col-12{max-width:50%;flex:0 0 50%}.el-col-offset-12{margin-left:50%}.el-col-pull-12{position:relative;right:50%}.el-col-push-12{position:relative;left:50%}.el-col-13{max-width:54.1666666667%;flex:0 0 54.1666666667%}.el-col-offset-13{margin-left:54.1666666667%}.el-col-pull-13{position:relative;right:54.1666666667%}.el-col-push-13{position:relative;left:54.1666666667%}.el-col-14{max-width:58.3333333333%;flex:0 0 58.3333333333%}.el-col-offset-14{margin-left:58.3333333333%}.el-col-pull-14{position:relative;right:58.3333333333%}.el-col-push-14{position:relative;left:58.3333333333%}.el-col-15{max-width:62.5%;flex:0 0 62.5%}.el-col-offset-15{margin-left:62.5%}.el-col-pull-15{position:relative;right:62.5%}.el-col-push-15{position:relative;left:62.5%}.el-col-16{max-width:66.6666666667%;flex:0 0 66.6666666667%}.el-col-offset-16{margin-left:66.6666666667%}.el-col-pull-16{position:relative;right:66.6666666667%}.el-col-push-16{position:relative;left:66.6666666667%}.el-col-17{max-width:70.8333333333%;flex:0 0 70.8333333333%}.el-col-offset-17{margin-left:70.8333333333%}.el-col-pull-17{position:relative;right:70.8333333333%}.el-col-push-17{position:relative;left:70.8333333333%}.el-col-18{max-width:75%;flex:0 0 75%}.el-col-offset-18{margin-left:75%}.el-col-pull-18{position:relative;right:75%}.el-col-push-18{position:relative;left:75%}.el-col-19{max-width:79.1666666667%;flex:0 0 79.1666666667%}.el-col-offset-19{margin-left:79.1666666667%}.el-col-pull-19{position:relative;right:79.1666666667%}.el-col-push-19{position:relative;left:79.1666666667%}.el-col-20{max-width:83.3333333333%;flex:0 0 83.3333333333%}.el-col-offset-20{margin-left:83.3333333333%}.el-col-pull-20{position:relative;right:83.3333333333%}.el-col-push-20{position:relative;left:83.3333333333%}.el-col-21{max-width:87.5%;flex:0 0 87.5%}.el-col-offset-21{margin-left:87.5%}.el-col-pull-21{position:relative;right:87.5%}.el-col-push-21{position:relative;left:87.5%}.el-col-22{max-width:91.6666666667%;flex:0 0 91.6666666667%}.el-col-offset-22{margin-left:91.6666666667%}.el-col-pull-22{position:relative;right:91.6666666667%}.el-col-push-22{position:relative;left:91.6666666667%}.el-col-23{max-width:95.8333333333%;flex:0 0 95.8333333333%}.el-col-offset-23{margin-left:95.8333333333%}.el-col-pull-23{position:relative;right:95.8333333333%}.el-col-push-23{position:relative;left:95.8333333333%}.el-col-24{max-width:100%;flex:0 0 100%}.el-col-offset-24{margin-left:100%}.el-col-pull-24{position:relative;right:100%}.el-col-push-24{position:relative;left:100%}@media only screen and (max-width:768px){.el-col-xs-0,.el-col-xs-0.is-guttered{display:none}.el-col-xs-0{max-width:0%;flex:0 0 0%}.el-col-xs-offset-0{margin-left:0}.el-col-xs-pull-0{position:relative;right:0}.el-col-xs-push-0{position:relative;left:0}.el-col-xs-1{display:block;max-width:4.1666666667%;flex:0 0 4.1666666667%}.el-col-xs-offset-1{margin-left:4.1666666667%}.el-col-xs-pull-1{position:relative;right:4.1666666667%}.el-col-xs-push-1{position:relative;left:4.1666666667%}.el-col-xs-2{display:block;max-width:8.3333333333%;flex:0 0 8.3333333333%}.el-col-xs-offset-2{margin-left:8.3333333333%}.el-col-xs-pull-2{position:relative;right:8.3333333333%}.el-col-xs-push-2{position:relative;left:8.3333333333%}.el-col-xs-3{display:block;max-width:12.5%;flex:0 0 12.5%}.el-col-xs-offset-3{margin-left:12.5%}.el-col-xs-pull-3{position:relative;right:12.5%}.el-col-xs-push-3{position:relative;left:12.5%}.el-col-xs-4{display:block;max-width:16.6666666667%;flex:0 0 16.6666666667%}.el-col-xs-offset-4{margin-left:16.6666666667%}.el-col-xs-pull-4{position:relative;right:16.6666666667%}.el-col-xs-push-4{position:relative;left:16.6666666667%}.el-col-xs-5{display:block;max-width:20.8333333333%;flex:0 0 20.8333333333%}.el-col-xs-offset-5{margin-left:20.8333333333%}.el-col-xs-pull-5{position:relative;right:20.8333333333%}.el-col-xs-push-5{position:relative;left:20.8333333333%}.el-col-xs-6{display:block;max-width:25%;flex:0 0 25%}.el-col-xs-offset-6{margin-left:25%}.el-col-xs-pull-6{position:relative;right:25%}.el-col-xs-push-6{position:relative;left:25%}.el-col-xs-7{display:block;max-width:29.1666666667%;flex:0 0 29.1666666667%}.el-col-xs-offset-7{margin-left:29.1666666667%}.el-col-xs-pull-7{position:relative;right:29.1666666667%}.el-col-xs-push-7{position:relative;left:29.1666666667%}.el-col-xs-8{display:block;max-width:33.3333333333%;flex:0 0 33.3333333333%}.el-col-xs-offset-8{margin-left:33.3333333333%}.el-col-xs-pull-8{position:relative;right:33.3333333333%}.el-col-xs-push-8{position:relative;left:33.3333333333%}.el-col-xs-9{display:block;max-width:37.5%;flex:0 0 37.5%}.el-col-xs-offset-9{margin-left:37.5%}.el-col-xs-pull-9{position:relative;right:37.5%}.el-col-xs-push-9{position:relative;left:37.5%}.el-col-xs-10{display:block;max-width:41.6666666667%;flex:0 0 41.6666666667%}.el-col-xs-offset-10{margin-left:41.6666666667%}.el-col-xs-pull-10{position:relative;right:41.6666666667%}.el-col-xs-push-10{position:relative;left:41.6666666667%}.el-col-xs-11{display:block;max-width:45.8333333333%;flex:0 0 45.8333333333%}.el-col-xs-offset-11{margin-left:45.8333333333%}.el-col-xs-pull-11{position:relative;right:45.8333333333%}.el-col-xs-push-11{position:relative;left:45.8333333333%}.el-col-xs-12{display:block;max-width:50%;flex:0 0 50%}.el-col-xs-offset-12{margin-left:50%}.el-col-xs-pull-12{position:relative;right:50%}.el-col-xs-push-12{position:relative;left:50%}.el-col-xs-13{display:block;max-width:54.1666666667%;flex:0 0 54.1666666667%}.el-col-xs-offset-13{margin-left:54.1666666667%}.el-col-xs-pull-13{position:relative;right:54.1666666667%}.el-col-xs-push-13{position:relative;left:54.1666666667%}.el-col-xs-14{display:block;max-width:58.3333333333%;flex:0 0 58.3333333333%}.el-col-xs-offset-14{margin-left:58.3333333333%}.el-col-xs-pull-14{position:relative;right:58.3333333333%}.el-col-xs-push-14{position:relative;left:58.3333333333%}.el-col-xs-15{display:block;max-width:62.5%;flex:0 0 62.5%}.el-col-xs-offset-15{margin-left:62.5%}.el-col-xs-pull-15{position:relative;right:62.5%}.el-col-xs-push-15{position:relative;left:62.5%}.el-col-xs-16{display:block;max-width:66.6666666667%;flex:0 0 66.6666666667%}.el-col-xs-offset-16{margin-left:66.6666666667%}.el-col-xs-pull-16{position:relative;right:66.6666666667%}.el-col-xs-push-16{position:relative;left:66.6666666667%}.el-col-xs-17{display:block;max-width:70.8333333333%;flex:0 0 70.8333333333%}.el-col-xs-offset-17{margin-left:70.8333333333%}.el-col-xs-pull-17{position:relative;right:70.8333333333%}.el-col-xs-push-17{position:relative;left:70.8333333333%}.el-col-xs-18{display:block;max-width:75%;flex:0 0 75%}.el-col-xs-offset-18{margin-left:75%}.el-col-xs-pull-18{position:relative;right:75%}.el-col-xs-push-18{position:relative;left:75%}.el-col-xs-19{display:block;max-width:79.1666666667%;flex:0 0 79.1666666667%}.el-col-xs-offset-19{margin-left:79.1666666667%}.el-col-xs-pull-19{position:relative;right:79.1666666667%}.el-col-xs-push-19{position:relative;left:79.1666666667%}.el-col-xs-20{display:block;max-width:83.3333333333%;flex:0 0 83.3333333333%}.el-col-xs-offset-20{margin-left:83.3333333333%}.el-col-xs-pull-20{position:relative;right:83.3333333333%}.el-col-xs-push-20{position:relative;left:83.3333333333%}.el-col-xs-21{display:block;max-width:87.5%;flex:0 0 87.5%}.el-col-xs-offset-21{margin-left:87.5%}.el-col-xs-pull-21{position:relative;right:87.5%}.el-col-xs-push-21{position:relative;left:87.5%}.el-col-xs-22{display:block;max-width:91.6666666667%;flex:0 0 91.6666666667%}.el-col-xs-offset-22{margin-left:91.6666666667%}.el-col-xs-pull-22{position:relative;right:91.6666666667%}.el-col-xs-push-22{position:relative;left:91.6666666667%}.el-col-xs-23{display:block;max-width:95.8333333333%;flex:0 0 95.8333333333%}.el-col-xs-offset-23{margin-left:95.8333333333%}.el-col-xs-pull-23{position:relative;right:95.8333333333%}.el-col-xs-push-23{position:relative;left:95.8333333333%}.el-col-xs-24{display:block;max-width:100%;flex:0 0 100%}.el-col-xs-offset-24{margin-left:100%}.el-col-xs-pull-24{position:relative;right:100%}.el-col-xs-push-24{position:relative;left:100%}}@media only screen and (min-width:768px){.el-col-sm-0,.el-col-sm-0.is-guttered{display:none}.el-col-sm-0{max-width:0%;flex:0 0 0%}.el-col-sm-offset-0{margin-left:0}.el-col-sm-pull-0{position:relative;right:0}.el-col-sm-push-0{position:relative;left:0}.el-col-sm-1{display:block;max-width:4.1666666667%;flex:0 0 4.1666666667%}.el-col-sm-offset-1{margin-left:4.1666666667%}.el-col-sm-pull-1{position:relative;right:4.1666666667%}.el-col-sm-push-1{position:relative;left:4.1666666667%}.el-col-sm-2{display:block;max-width:8.3333333333%;flex:0 0 8.3333333333%}.el-col-sm-offset-2{margin-left:8.3333333333%}.el-col-sm-pull-2{position:relative;right:8.3333333333%}.el-col-sm-push-2{position:relative;left:8.3333333333%}.el-col-sm-3{display:block;max-width:12.5%;flex:0 0 12.5%}.el-col-sm-offset-3{margin-left:12.5%}.el-col-sm-pull-3{position:relative;right:12.5%}.el-col-sm-push-3{position:relative;left:12.5%}.el-col-sm-4{display:block;max-width:16.6666666667%;flex:0 0 16.6666666667%}.el-col-sm-offset-4{margin-left:16.6666666667%}.el-col-sm-pull-4{position:relative;right:16.6666666667%}.el-col-sm-push-4{position:relative;left:16.6666666667%}.el-col-sm-5{display:block;max-width:20.8333333333%;flex:0 0 20.8333333333%}.el-col-sm-offset-5{margin-left:20.8333333333%}.el-col-sm-pull-5{position:relative;right:20.8333333333%}.el-col-sm-push-5{position:relative;left:20.8333333333%}.el-col-sm-6{display:block;max-width:25%;flex:0 0 25%}.el-col-sm-offset-6{margin-left:25%}.el-col-sm-pull-6{position:relative;right:25%}.el-col-sm-push-6{position:relative;left:25%}.el-col-sm-7{display:block;max-width:29.1666666667%;flex:0 0 29.1666666667%}.el-col-sm-offset-7{margin-left:29.1666666667%}.el-col-sm-pull-7{position:relative;right:29.1666666667%}.el-col-sm-push-7{position:relative;left:29.1666666667%}.el-col-sm-8{display:block;max-width:33.3333333333%;flex:0 0 33.3333333333%}.el-col-sm-offset-8{margin-left:33.3333333333%}.el-col-sm-pull-8{position:relative;right:33.3333333333%}.el-col-sm-push-8{position:relative;left:33.3333333333%}.el-col-sm-9{display:block;max-width:37.5%;flex:0 0 37.5%}.el-col-sm-offset-9{margin-left:37.5%}.el-col-sm-pull-9{position:relative;right:37.5%}.el-col-sm-push-9{position:relative;left:37.5%}.el-col-sm-10{display:block;max-width:41.6666666667%;flex:0 0 41.6666666667%}.el-col-sm-offset-10{margin-left:41.6666666667%}.el-col-sm-pull-10{position:relative;right:41.6666666667%}.el-col-sm-push-10{position:relative;left:41.6666666667%}.el-col-sm-11{display:block;max-width:45.8333333333%;flex:0 0 45.8333333333%}.el-col-sm-offset-11{margin-left:45.8333333333%}.el-col-sm-pull-11{position:relative;right:45.8333333333%}.el-col-sm-push-11{position:relative;left:45.8333333333%}.el-col-sm-12{display:block;max-width:50%;flex:0 0 50%}.el-col-sm-offset-12{margin-left:50%}.el-col-sm-pull-12{position:relative;right:50%}.el-col-sm-push-12{position:relative;left:50%}.el-col-sm-13{display:block;max-width:54.1666666667%;flex:0 0 54.1666666667%}.el-col-sm-offset-13{margin-left:54.1666666667%}.el-col-sm-pull-13{position:relative;right:54.1666666667%}.el-col-sm-push-13{position:relative;left:54.1666666667%}.el-col-sm-14{display:block;max-width:58.3333333333%;flex:0 0 58.3333333333%}.el-col-sm-offset-14{margin-left:58.3333333333%}.el-col-sm-pull-14{position:relative;right:58.3333333333%}.el-col-sm-push-14{position:relative;left:58.3333333333%}.el-col-sm-15{display:block;max-width:62.5%;flex:0 0 62.5%}.el-col-sm-offset-15{margin-left:62.5%}.el-col-sm-pull-15{position:relative;right:62.5%}.el-col-sm-push-15{position:relative;left:62.5%}.el-col-sm-16{display:block;max-width:66.6666666667%;flex:0 0 66.6666666667%}.el-col-sm-offset-16{margin-left:66.6666666667%}.el-col-sm-pull-16{position:relative;right:66.6666666667%}.el-col-sm-push-16{position:relative;left:66.6666666667%}.el-col-sm-17{display:block;max-width:70.8333333333%;flex:0 0 70.8333333333%}.el-col-sm-offset-17{margin-left:70.8333333333%}.el-col-sm-pull-17{position:relative;right:70.8333333333%}.el-col-sm-push-17{position:relative;left:70.8333333333%}.el-col-sm-18{display:block;max-width:75%;flex:0 0 75%}.el-col-sm-offset-18{margin-left:75%}.el-col-sm-pull-18{position:relative;right:75%}.el-col-sm-push-18{position:relative;left:75%}.el-col-sm-19{display:block;max-width:79.1666666667%;flex:0 0 79.1666666667%}.el-col-sm-offset-19{margin-left:79.1666666667%}.el-col-sm-pull-19{position:relative;right:79.1666666667%}.el-col-sm-push-19{position:relative;left:79.1666666667%}.el-col-sm-20{display:block;max-width:83.3333333333%;flex:0 0 83.3333333333%}.el-col-sm-offset-20{margin-left:83.3333333333%}.el-col-sm-pull-20{position:relative;right:83.3333333333%}.el-col-sm-push-20{position:relative;left:83.3333333333%}.el-col-sm-21{display:block;max-width:87.5%;flex:0 0 87.5%}.el-col-sm-offset-21{margin-left:87.5%}.el-col-sm-pull-21{position:relative;right:87.5%}.el-col-sm-push-21{position:relative;left:87.5%}.el-col-sm-22{display:block;max-width:91.6666666667%;flex:0 0 91.6666666667%}.el-col-sm-offset-22{margin-left:91.6666666667%}.el-col-sm-pull-22{position:relative;right:91.6666666667%}.el-col-sm-push-22{position:relative;left:91.6666666667%}.el-col-sm-23{display:block;max-width:95.8333333333%;flex:0 0 95.8333333333%}.el-col-sm-offset-23{margin-left:95.8333333333%}.el-col-sm-pull-23{position:relative;right:95.8333333333%}.el-col-sm-push-23{position:relative;left:95.8333333333%}.el-col-sm-24{display:block;max-width:100%;flex:0 0 100%}.el-col-sm-offset-24{margin-left:100%}.el-col-sm-pull-24{position:relative;right:100%}.el-col-sm-push-24{position:relative;left:100%}}@media only screen and (min-width:992px){.el-col-md-0,.el-col-md-0.is-guttered{display:none}.el-col-md-0{max-width:0%;flex:0 0 0%}.el-col-md-offset-0{margin-left:0}.el-col-md-pull-0{position:relative;right:0}.el-col-md-push-0{position:relative;left:0}.el-col-md-1{display:block;max-width:4.1666666667%;flex:0 0 4.1666666667%}.el-col-md-offset-1{margin-left:4.1666666667%}.el-col-md-pull-1{position:relative;right:4.1666666667%}.el-col-md-push-1{position:relative;left:4.1666666667%}.el-col-md-2{display:block;max-width:8.3333333333%;flex:0 0 8.3333333333%}.el-col-md-offset-2{margin-left:8.3333333333%}.el-col-md-pull-2{position:relative;right:8.3333333333%}.el-col-md-push-2{position:relative;left:8.3333333333%}.el-col-md-3{display:block;max-width:12.5%;flex:0 0 12.5%}.el-col-md-offset-3{margin-left:12.5%}.el-col-md-pull-3{position:relative;right:12.5%}.el-col-md-push-3{position:relative;left:12.5%}.el-col-md-4{display:block;max-width:16.6666666667%;flex:0 0 16.6666666667%}.el-col-md-offset-4{margin-left:16.6666666667%}.el-col-md-pull-4{position:relative;right:16.6666666667%}.el-col-md-push-4{position:relative;left:16.6666666667%}.el-col-md-5{display:block;max-width:20.8333333333%;flex:0 0 20.8333333333%}.el-col-md-offset-5{margin-left:20.8333333333%}.el-col-md-pull-5{position:relative;right:20.8333333333%}.el-col-md-push-5{position:relative;left:20.8333333333%}.el-col-md-6{display:block;max-width:25%;flex:0 0 25%}.el-col-md-offset-6{margin-left:25%}.el-col-md-pull-6{position:relative;right:25%}.el-col-md-push-6{position:relative;left:25%}.el-col-md-7{display:block;max-width:29.1666666667%;flex:0 0 29.1666666667%}.el-col-md-offset-7{margin-left:29.1666666667%}.el-col-md-pull-7{position:relative;right:29.1666666667%}.el-col-md-push-7{position:relative;left:29.1666666667%}.el-col-md-8{display:block;max-width:33.3333333333%;flex:0 0 33.3333333333%}.el-col-md-offset-8{margin-left:33.3333333333%}.el-col-md-pull-8{position:relative;right:33.3333333333%}.el-col-md-push-8{position:relative;left:33.3333333333%}.el-col-md-9{display:block;max-width:37.5%;flex:0 0 37.5%}.el-col-md-offset-9{margin-left:37.5%}.el-col-md-pull-9{position:relative;right:37.5%}.el-col-md-push-9{position:relative;left:37.5%}.el-col-md-10{display:block;max-width:41.6666666667%;flex:0 0 41.6666666667%}.el-col-md-offset-10{margin-left:41.6666666667%}.el-col-md-pull-10{position:relative;right:41.6666666667%}.el-col-md-push-10{position:relative;left:41.6666666667%}.el-col-md-11{display:block;max-width:45.8333333333%;flex:0 0 45.8333333333%}.el-col-md-offset-11{margin-left:45.8333333333%}.el-col-md-pull-11{position:relative;right:45.8333333333%}.el-col-md-push-11{position:relative;left:45.8333333333%}.el-col-md-12{display:block;max-width:50%;flex:0 0 50%}.el-col-md-offset-12{margin-left:50%}.el-col-md-pull-12{position:relative;right:50%}.el-col-md-push-12{position:relative;left:50%}.el-col-md-13{display:block;max-width:54.1666666667%;flex:0 0 54.1666666667%}.el-col-md-offset-13{margin-left:54.1666666667%}.el-col-md-pull-13{position:relative;right:54.1666666667%}.el-col-md-push-13{position:relative;left:54.1666666667%}.el-col-md-14{display:block;max-width:58.3333333333%;flex:0 0 58.3333333333%}.el-col-md-offset-14{margin-left:58.3333333333%}.el-col-md-pull-14{position:relative;right:58.3333333333%}.el-col-md-push-14{position:relative;left:58.3333333333%}.el-col-md-15{display:block;max-width:62.5%;flex:0 0 62.5%}.el-col-md-offset-15{margin-left:62.5%}.el-col-md-pull-15{position:relative;right:62.5%}.el-col-md-push-15{position:relative;left:62.5%}.el-col-md-16{display:block;max-width:66.6666666667%;flex:0 0 66.6666666667%}.el-col-md-offset-16{margin-left:66.6666666667%}.el-col-md-pull-16{position:relative;right:66.6666666667%}.el-col-md-push-16{position:relative;left:66.6666666667%}.el-col-md-17{display:block;max-width:70.8333333333%;flex:0 0 70.8333333333%}.el-col-md-offset-17{margin-left:70.8333333333%}.el-col-md-pull-17{position:relative;right:70.8333333333%}.el-col-md-push-17{position:relative;left:70.8333333333%}.el-col-md-18{display:block;max-width:75%;flex:0 0 75%}.el-col-md-offset-18{margin-left:75%}.el-col-md-pull-18{position:relative;right:75%}.el-col-md-push-18{position:relative;left:75%}.el-col-md-19{display:block;max-width:79.1666666667%;flex:0 0 79.1666666667%}.el-col-md-offset-19{margin-left:79.1666666667%}.el-col-md-pull-19{position:relative;right:79.1666666667%}.el-col-md-push-19{position:relative;left:79.1666666667%}.el-col-md-20{display:block;max-width:83.3333333333%;flex:0 0 83.3333333333%}.el-col-md-offset-20{margin-left:83.3333333333%}.el-col-md-pull-20{position:relative;right:83.3333333333%}.el-col-md-push-20{position:relative;left:83.3333333333%}.el-col-md-21{display:block;max-width:87.5%;flex:0 0 87.5%}.el-col-md-offset-21{margin-left:87.5%}.el-col-md-pull-21{position:relative;right:87.5%}.el-col-md-push-21{position:relative;left:87.5%}.el-col-md-22{display:block;max-width:91.6666666667%;flex:0 0 91.6666666667%}.el-col-md-offset-22{margin-left:91.6666666667%}.el-col-md-pull-22{position:relative;right:91.6666666667%}.el-col-md-push-22{position:relative;left:91.6666666667%}.el-col-md-23{display:block;max-width:95.8333333333%;flex:0 0 95.8333333333%}.el-col-md-offset-23{margin-left:95.8333333333%}.el-col-md-pull-23{position:relative;right:95.8333333333%}.el-col-md-push-23{position:relative;left:95.8333333333%}.el-col-md-24{display:block;max-width:100%;flex:0 0 100%}.el-col-md-offset-24{margin-left:100%}.el-col-md-pull-24{position:relative;right:100%}.el-col-md-push-24{position:relative;left:100%}}@media only screen and (min-width:1200px){.el-col-lg-0,.el-col-lg-0.is-guttered{display:none}.el-col-lg-0{max-width:0%;flex:0 0 0%}.el-col-lg-offset-0{margin-left:0}.el-col-lg-pull-0{position:relative;right:0}.el-col-lg-push-0{position:relative;left:0}.el-col-lg-1{display:block;max-width:4.1666666667%;flex:0 0 4.1666666667%}.el-col-lg-offset-1{margin-left:4.1666666667%}.el-col-lg-pull-1{position:relative;right:4.1666666667%}.el-col-lg-push-1{position:relative;left:4.1666666667%}.el-col-lg-2{display:block;max-width:8.3333333333%;flex:0 0 8.3333333333%}.el-col-lg-offset-2{margin-left:8.3333333333%}.el-col-lg-pull-2{position:relative;right:8.3333333333%}.el-col-lg-push-2{position:relative;left:8.3333333333%}.el-col-lg-3{display:block;max-width:12.5%;flex:0 0 12.5%}.el-col-lg-offset-3{margin-left:12.5%}.el-col-lg-pull-3{position:relative;right:12.5%}.el-col-lg-push-3{position:relative;left:12.5%}.el-col-lg-4{display:block;max-width:16.6666666667%;flex:0 0 16.6666666667%}.el-col-lg-offset-4{margin-left:16.6666666667%}.el-col-lg-pull-4{position:relative;right:16.6666666667%}.el-col-lg-push-4{position:relative;left:16.6666666667%}.el-col-lg-5{display:block;max-width:20.8333333333%;flex:0 0 20.8333333333%}.el-col-lg-offset-5{margin-left:20.8333333333%}.el-col-lg-pull-5{position:relative;right:20.8333333333%}.el-col-lg-push-5{position:relative;left:20.8333333333%}.el-col-lg-6{display:block;max-width:25%;flex:0 0 25%}.el-col-lg-offset-6{margin-left:25%}.el-col-lg-pull-6{position:relative;right:25%}.el-col-lg-push-6{position:relative;left:25%}.el-col-lg-7{display:block;max-width:29.1666666667%;flex:0 0 29.1666666667%}.el-col-lg-offset-7{margin-left:29.1666666667%}.el-col-lg-pull-7{position:relative;right:29.1666666667%}.el-col-lg-push-7{position:relative;left:29.1666666667%}.el-col-lg-8{display:block;max-width:33.3333333333%;flex:0 0 33.3333333333%}.el-col-lg-offset-8{margin-left:33.3333333333%}.el-col-lg-pull-8{position:relative;right:33.3333333333%}.el-col-lg-push-8{position:relative;left:33.3333333333%}.el-col-lg-9{display:block;max-width:37.5%;flex:0 0 37.5%}.el-col-lg-offset-9{margin-left:37.5%}.el-col-lg-pull-9{position:relative;right:37.5%}.el-col-lg-push-9{position:relative;left:37.5%}.el-col-lg-10{display:block;max-width:41.6666666667%;flex:0 0 41.6666666667%}.el-col-lg-offset-10{margin-left:41.6666666667%}.el-col-lg-pull-10{position:relative;right:41.6666666667%}.el-col-lg-push-10{position:relative;left:41.6666666667%}.el-col-lg-11{display:block;max-width:45.8333333333%;flex:0 0 45.8333333333%}.el-col-lg-offset-11{margin-left:45.8333333333%}.el-col-lg-pull-11{position:relative;right:45.8333333333%}.el-col-lg-push-11{position:relative;left:45.8333333333%}.el-col-lg-12{display:block;max-width:50%;flex:0 0 50%}.el-col-lg-offset-12{margin-left:50%}.el-col-lg-pull-12{position:relative;right:50%}.el-col-lg-push-12{position:relative;left:50%}.el-col-lg-13{display:block;max-width:54.1666666667%;flex:0 0 54.1666666667%}.el-col-lg-offset-13{margin-left:54.1666666667%}.el-col-lg-pull-13{position:relative;right:54.1666666667%}.el-col-lg-push-13{position:relative;left:54.1666666667%}.el-col-lg-14{display:block;max-width:58.3333333333%;flex:0 0 58.3333333333%}.el-col-lg-offset-14{margin-left:58.3333333333%}.el-col-lg-pull-14{position:relative;right:58.3333333333%}.el-col-lg-push-14{position:relative;left:58.3333333333%}.el-col-lg-15{display:block;max-width:62.5%;flex:0 0 62.5%}.el-col-lg-offset-15{margin-left:62.5%}.el-col-lg-pull-15{position:relative;right:62.5%}.el-col-lg-push-15{position:relative;left:62.5%}.el-col-lg-16{display:block;max-width:66.6666666667%;flex:0 0 66.6666666667%}.el-col-lg-offset-16{margin-left:66.6666666667%}.el-col-lg-pull-16{position:relative;right:66.6666666667%}.el-col-lg-push-16{position:relative;left:66.6666666667%}.el-col-lg-17{display:block;max-width:70.8333333333%;flex:0 0 70.8333333333%}.el-col-lg-offset-17{margin-left:70.8333333333%}.el-col-lg-pull-17{position:relative;right:70.8333333333%}.el-col-lg-push-17{position:relative;left:70.8333333333%}.el-col-lg-18{display:block;max-width:75%;flex:0 0 75%}.el-col-lg-offset-18{margin-left:75%}.el-col-lg-pull-18{position:relative;right:75%}.el-col-lg-push-18{position:relative;left:75%}.el-col-lg-19{display:block;max-width:79.1666666667%;flex:0 0 79.1666666667%}.el-col-lg-offset-19{margin-left:79.1666666667%}.el-col-lg-pull-19{position:relative;right:79.1666666667%}.el-col-lg-push-19{position:relative;left:79.1666666667%}.el-col-lg-20{display:block;max-width:83.3333333333%;flex:0 0 83.3333333333%}.el-col-lg-offset-20{margin-left:83.3333333333%}.el-col-lg-pull-20{position:relative;right:83.3333333333%}.el-col-lg-push-20{position:relative;left:83.3333333333%}.el-col-lg-21{display:block;max-width:87.5%;flex:0 0 87.5%}.el-col-lg-offset-21{margin-left:87.5%}.el-col-lg-pull-21{position:relative;right:87.5%}.el-col-lg-push-21{position:relative;left:87.5%}.el-col-lg-22{display:block;max-width:91.6666666667%;flex:0 0 91.6666666667%}.el-col-lg-offset-22{margin-left:91.6666666667%}.el-col-lg-pull-22{position:relative;right:91.6666666667%}.el-col-lg-push-22{position:relative;left:91.6666666667%}.el-col-lg-23{display:block;max-width:95.8333333333%;flex:0 0 95.8333333333%}.el-col-lg-offset-23{margin-left:95.8333333333%}.el-col-lg-pull-23{position:relative;right:95.8333333333%}.el-col-lg-push-23{position:relative;left:95.8333333333%}.el-col-lg-24{display:block;max-width:100%;flex:0 0 100%}.el-col-lg-offset-24{margin-left:100%}.el-col-lg-pull-24{position:relative;right:100%}.el-col-lg-push-24{position:relative;left:100%}}@media only screen and (min-width:1920px){.el-col-xl-0,.el-col-xl-0.is-guttered{display:none}.el-col-xl-0{max-width:0%;flex:0 0 0%}.el-col-xl-offset-0{margin-left:0}.el-col-xl-pull-0{position:relative;right:0}.el-col-xl-push-0{position:relative;left:0}.el-col-xl-1{display:block;max-width:4.1666666667%;flex:0 0 4.1666666667%}.el-col-xl-offset-1{margin-left:4.1666666667%}.el-col-xl-pull-1{position:relative;right:4.1666666667%}.el-col-xl-push-1{position:relative;left:4.1666666667%}.el-col-xl-2{display:block;max-width:8.3333333333%;flex:0 0 8.3333333333%}.el-col-xl-offset-2{margin-left:8.3333333333%}.el-col-xl-pull-2{position:relative;right:8.3333333333%}.el-col-xl-push-2{position:relative;left:8.3333333333%}.el-col-xl-3{display:block;max-width:12.5%;flex:0 0 12.5%}.el-col-xl-offset-3{margin-left:12.5%}.el-col-xl-pull-3{position:relative;right:12.5%}.el-col-xl-push-3{position:relative;left:12.5%}.el-col-xl-4{display:block;max-width:16.6666666667%;flex:0 0 16.6666666667%}.el-col-xl-offset-4{margin-left:16.6666666667%}.el-col-xl-pull-4{position:relative;right:16.6666666667%}.el-col-xl-push-4{position:relative;left:16.6666666667%}.el-col-xl-5{display:block;max-width:20.8333333333%;flex:0 0 20.8333333333%}.el-col-xl-offset-5{margin-left:20.8333333333%}.el-col-xl-pull-5{position:relative;right:20.8333333333%}.el-col-xl-push-5{position:relative;left:20.8333333333%}.el-col-xl-6{display:block;max-width:25%;flex:0 0 25%}.el-col-xl-offset-6{margin-left:25%}.el-col-xl-pull-6{position:relative;right:25%}.el-col-xl-push-6{position:relative;left:25%}.el-col-xl-7{display:block;max-width:29.1666666667%;flex:0 0 29.1666666667%}.el-col-xl-offset-7{margin-left:29.1666666667%}.el-col-xl-pull-7{position:relative;right:29.1666666667%}.el-col-xl-push-7{position:relative;left:29.1666666667%}.el-col-xl-8{display:block;max-width:33.3333333333%;flex:0 0 33.3333333333%}.el-col-xl-offset-8{margin-left:33.3333333333%}.el-col-xl-pull-8{position:relative;right:33.3333333333%}.el-col-xl-push-8{position:relative;left:33.3333333333%}.el-col-xl-9{display:block;max-width:37.5%;flex:0 0 37.5%}.el-col-xl-offset-9{margin-left:37.5%}.el-col-xl-pull-9{position:relative;right:37.5%}.el-col-xl-push-9{position:relative;left:37.5%}.el-col-xl-10{display:block;max-width:41.6666666667%;flex:0 0 41.6666666667%}.el-col-xl-offset-10{margin-left:41.6666666667%}.el-col-xl-pull-10{position:relative;right:41.6666666667%}.el-col-xl-push-10{position:relative;left:41.6666666667%}.el-col-xl-11{display:block;max-width:45.8333333333%;flex:0 0 45.8333333333%}.el-col-xl-offset-11{margin-left:45.8333333333%}.el-col-xl-pull-11{position:relative;right:45.8333333333%}.el-col-xl-push-11{position:relative;left:45.8333333333%}.el-col-xl-12{display:block;max-width:50%;flex:0 0 50%}.el-col-xl-offset-12{margin-left:50%}.el-col-xl-pull-12{position:relative;right:50%}.el-col-xl-push-12{position:relative;left:50%}.el-col-xl-13{display:block;max-width:54.1666666667%;flex:0 0 54.1666666667%}.el-col-xl-offset-13{margin-left:54.1666666667%}.el-col-xl-pull-13{position:relative;right:54.1666666667%}.el-col-xl-push-13{position:relative;left:54.1666666667%}.el-col-xl-14{display:block;max-width:58.3333333333%;flex:0 0 58.3333333333%}.el-col-xl-offset-14{margin-left:58.3333333333%}.el-col-xl-pull-14{position:relative;right:58.3333333333%}.el-col-xl-push-14{position:relative;left:58.3333333333%}.el-col-xl-15{display:block;max-width:62.5%;flex:0 0 62.5%}.el-col-xl-offset-15{margin-left:62.5%}.el-col-xl-pull-15{position:relative;right:62.5%}.el-col-xl-push-15{position:relative;left:62.5%}.el-col-xl-16{display:block;max-width:66.6666666667%;flex:0 0 66.6666666667%}.el-col-xl-offset-16{margin-left:66.6666666667%}.el-col-xl-pull-16{position:relative;right:66.6666666667%}.el-col-xl-push-16{position:relative;left:66.6666666667%}.el-col-xl-17{display:block;max-width:70.8333333333%;flex:0 0 70.8333333333%}.el-col-xl-offset-17{margin-left:70.8333333333%}.el-col-xl-pull-17{position:relative;right:70.8333333333%}.el-col-xl-push-17{position:relative;left:70.8333333333%}.el-col-xl-18{display:block;max-width:75%;flex:0 0 75%}.el-col-xl-offset-18{margin-left:75%}.el-col-xl-pull-18{position:relative;right:75%}.el-col-xl-push-18{position:relative;left:75%}.el-col-xl-19{display:block;max-width:79.1666666667%;flex:0 0 79.1666666667%}.el-col-xl-offset-19{margin-left:79.1666666667%}.el-col-xl-pull-19{position:relative;right:79.1666666667%}.el-col-xl-push-19{position:relative;left:79.1666666667%}.el-col-xl-20{display:block;max-width:83.3333333333%;flex:0 0 83.3333333333%}.el-col-xl-offset-20{margin-left:83.3333333333%}.el-col-xl-pull-20{position:relative;right:83.3333333333%}.el-col-xl-push-20{position:relative;left:83.3333333333%}.el-col-xl-21{display:block;max-width:87.5%;flex:0 0 87.5%}.el-col-xl-offset-21{margin-left:87.5%}.el-col-xl-pull-21{position:relative;right:87.5%}.el-col-xl-push-21{position:relative;left:87.5%}.el-col-xl-22{display:block;max-width:91.6666666667%;flex:0 0 91.6666666667%}.el-col-xl-offset-22{margin-left:91.6666666667%}.el-col-xl-pull-22{position:relative;right:91.6666666667%}.el-col-xl-push-22{position:relative;left:91.6666666667%}.el-col-xl-23{display:block;max-width:95.8333333333%;flex:0 0 95.8333333333%}.el-col-xl-offset-23{margin-left:95.8333333333%}.el-col-xl-pull-23{position:relative;right:95.8333333333%}.el-col-xl-push-23{position:relative;left:95.8333333333%}.el-col-xl-24{display:block;max-width:100%;flex:0 0 100%}.el-col-xl-offset-24{margin-left:100%}.el-col-xl-pull-24{position:relative;right:100%}.el-col-xl-push-24{position:relative;left:100%}}.csdn-tree[data-v-48fd8c29]{box-sizing:border-box;padding:0 40px 12px 35px}.csdn-tree .box-title[data-v-48fd8c29]{padding:26px 0 24px;color:#222226;font-family:PingFang SC;font-size:20px;font-weight:600}.csdn-tree .box-item-title[data-v-48fd8c29]{display:flex;align-items:center}.csdn-tree .box-item-title .box-item-name[data-v-48fd8c29]{color:#000;font-family:PingFang SC;font-size:14px;padding-left:4px;cursor:pointer}.csdn-tree .box-item-title .tree-arrow[data-v-48fd8c29]{display:flex;align-items:center;justify-content:center;height:16px;width:16px;margin-left:6px;background-color:#fff;border-radius:16px;cursor:pointer}.csdn-tree .box-item-title .tree-arrow svg[data-v-48fd8c29]{height:12px;width:12px;transform:rotateX(0);transition:transform .3s ease-in-out}.csdn-tree .box-item-title .tree-arrow svg.active[data-v-48fd8c29]{transform:rotateX(180deg)}.csdn-tree .box-item-title .box-item-avater[data-v-48fd8c29]{position:relative;display:inline-flex;width:24px;height:24px;margin-right:14px;z-index:9}.csdn-tree .box-item-title .box-item-avater[data-v-48fd8c29]:after{position:absolute;display:block;left:100%;top:50%;margin-top:-1px;content:" ";border-radius:0 2px 2px 0;height:2px;width:16px;background:linear-gradient(90deg,#6d5ffd80,#59c6f880 63.7%,#52edf600)}.csdn-tree .box-item-children[data-v-48fd8c29]{position:relative;margin-left:11px;padding-left:24px;padding-top:6px;overflow:hidden}.csdn-tree .box-item-children .box-item-main[data-v-48fd8c29]{padding-bottom:46px}.csdn-tree .box-item-children[data-v-48fd8c29]:after{position:absolute;display:block;left:0;top:0;content:" ";border-radius:0 0 2px 2px;height:100%;width:2px;transition:all .7s cubic-bezier(.16,1,.3,1);background:linear-gradient(180deg,#6d5ffd00 1.48%,#6587fb80 28.51%,#59c6f880 55.71%,#52edf600 101.49%)}.csdn-tree .box-item-children.first[data-v-48fd8c29]:after{background:linear-gradient(180deg,#6d5ffd80,#59c6f880 63.7%,#52edf600)}.csdn-tree .box-item-children--item[data-v-48fd8c29]{height:104px;padding:22px 15px 12px;flex-shrink:0;border-radius:8px;background:#fffc;margin-bottom:8px;cursor:pointer}.csdn-tree .box-item-children--item .c-tree-name[data-v-48fd8c29]{display:flex;align-items:center;overflow:hidden}.csdn-tree .box-item-children--item[data-v-48fd8c29]:hover{border-radius:8px;border:1px solid #6d5ffd;background:#fff;box-shadow:-6px -2px 18.2px #7d42f929}.csdn-tree .box-item-children--item:hover .c-tree-name[data-v-48fd8c29]{color:#fff;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-image:linear-gradient(90deg,#a391ff,#7782ff)}.csdn-tree .box-item-children--item:hover .c-arrow-plus[data-v-48fd8c29]{visibility:visible}.csdn-tree .box-item-children--item .c-arrow-plus[data-v-48fd8c29]{width:20px;height:20px;visibility:hidden}.csdn-tree .box-item-children--item .c-tree--title[data-v-48fd8c29]{color:#222226;font-family:PingFang SC;font-size:16px;font-weight:600;display:flex;justify-content:space-between;align-items:center}.csdn-tree .box-item-children--item .c-tree--desc[data-v-48fd8c29]{margin-top:8px;color:#222226;font-family:PingFang SC;font-size:12px;font-style:normal;font-weight:400;line-height:16px}.simple .csdn-tree[data-v-48fd8c29]{padding:0 26px 12px}.simple .csdn-tree .box-title[data-v-48fd8c29]{font-size:14px;padding:13px 0 6px}.simple .box-item-title .box-item-name[data-v-48fd8c29]{font-size:11px}.simple .box-item-title .box-item-avater[data-v-48fd8c29]{width:18px;height:18px}.simple .box-item-title .tree-arrow[data-v-48fd8c29]{width:12px;height:12px}.simple .box-item-title .tree-arrow svg[data-v-48fd8c29]{height:8px;width:8px}.simple .box-item-children[data-v-48fd8c29]{margin-left:8px}.simple .box-item-children .box-item-main[data-v-48fd8c29]{padding-bottom:16px}.simple .box-item-children .box-item-children--item[data-v-48fd8c29]{height:68px;padding:6px 10px;cursor:pointer}.simple .box-item-children .box-item-children--item .c-tree--title[data-v-48fd8c29]{font-size:12px}.simple .box-item-children .box-item-children--item .c-tree--desc[data-v-48fd8c29]{font-size:12px;margin-top:4px}.simple .box-item-children .box-item-children--item .c-arrow-plus[data-v-48fd8c29]{width:14px;height:14px}.dot[data-v-48fd8c29]{display:inline-block;width:4px;height:4px;border-radius:99px;background-color:#999aaa;margin-right:8px}.md_code_container{position:relative;font-size:0;border-radius:8px;margin:10px 0}.md_code_container code{padding:16px 8px;display:block;font-size:15px!important;overflow-y:auto}.md_code_container code::-webkit-scrollbar{width:0}.md_code_container .code-operation{display:flex;align-items:center;justify-content:space-between;height:36px;padding:0 10px;border-bottom:1px solid #666f8d}.md_code_container .code-operation .lang{color:#e8e8f0;line-height:22px;font-size:14px;font-weight:500;font-family:Courier,sans-serif}.md_code_container .chat-btns{position:relative;display:flex;justify-content:flex-end;align-items:center;white-space:initial}.md_code_container .chat_copy_btn{position:relative;display:inline-block;font-size:14px;width:24px;height:24px;padding:0;cursor:pointer;background:url(http://cdn-static-devbit.csdn.net/ai100/chat/imgs/md-copy.png?v=2);background-size:contain;z-index:8}.md_code_container .chat_copy_btn.disabled{opacity:.2}.md_code_container .chat_copy_btn.disabled:hover:before{display:none}.md_code_container .chat_copy_btn:before{display:none;content:"复制代码";position:absolute;right:-20px;top:28px;width:58px;padding:4px 8px;color:#fff;background-color:#0009;border-radius:5px;text-align:center}.md_code_container .chat_copy_btn:hover:before{display:block}.md_code_container .chat_run_btn{margin-right:10px;display:inline-block;font-size:14px;width:24px;height:24px;padding:0;cursor:pointer;background:url(https://cdn-static-devbit.csdn.net/ai100/imgs/code-operation-1.png);background-size:contain}.md_code_container .chat_run_btn.disabled{opacity:.2}.md_code_container .chat_run_btn.disabled:hover:before{display:none}.md_code_container .chat_run_btn:before{display:none;content:"运行";position:absolute;right:22px;top:28px;padding:4px 8px;color:#fff;width:28px;background-color:#0009;border-radius:5px;z-index:99;text-align:center}.md_code_container .chat_run_btn:hover:before{display:block}.md_code_container .chat_vscode_btn{margin-right:10px;display:inline-block;font-size:14px;width:24px;height:24px;padding:0;cursor:pointer;background:url(https://cdn-static-devbit.csdn.net/ai100/chat/imgs/codegpt.png?v=3);background-size:contain}.md_code_container .chat_vscode_btn.disabled{opacity:.2}.md_code_container .chat_vscode_btn.disabled:hover:before{display:none}.md_code_container .chat_vscode_btn:before{display:none;content:"使用代码插件";position:absolute;right:0;top:28px;padding:4px 8px;color:#fff;width:88px;background-color:#0009;border-radius:5px;z-index:99;text-align:center}.md_code_container .chat_vscode_btn:hover:before{display:block}.chat-feedback[data-v-668a2b01]{height:24px;border-radius:4px;display:inline-flex;justify-content:center;align-items:center;margin-left:10px;background-color:#0000000d}.chat-feedback .chat-seach-cm-icon[data-v-668a2b01]{cursor:pointer;position:relative;color:var(--color-text-content);font-size:24px;margin-right:8px;width:24px;height:100%;line-height:0;transition:color .2s}.chat-feedback .chat-seach-cm-icon[data-v-668a2b01]:hover,.chat-feedback .chat-seach-cm-icon[data-v-668a2b01]:active{opacity:.85}.chat-feedback .chat-seach-cm-icon[data-v-668a2b01]:last-child{margin-right:0}.chat-feedback .chat-seach-cm-icon.like[data-v-668a2b01],.chat-feedback .chat-seach-cm-icon.unlike[data-v-668a2b01]{color:#6d5ffd}.references{display:flex;align-items:flex-start;margin-top:10px}.references .reference_title{display:flex;align-items:center;font-size:16px;padding-left:4px;position:relative;color:var(--color-text-primary);padding-top:0;font-size:14px;font-weight:600;column-gap:4px;white-space:nowrap;height:26px}.references .reference_list{padding-left:8px;flex:1;display:flex;align-items:center;flex-wrap:wrap;column-gap:10px;row-gap:10px;line-height:18px;list-style:none}.references .reference_list .reference_item{padding:4px;border-radius:12px;background:#6d5ffd1a;max-width:100%;min-width:0;list-style:none;display:inline-flex;align-items:center;column-gap:4px;margin:0}.references .reference_list .reference_item a{font-size:13px;width:100%;height:100%;color:var(--color-text-content);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-decoration:none}.references .reference_list .reference_item a:hover{color:var(--color-text-primary)}.references .reference_list .reference_item .certification{display:flex;align-items:center;margin-left:4px}.references .reference_list .reference_item .certification img{width:16px;height:16px;margin-right:2px}.references .reference_list .reference_item .certification img:last-child{margin-right:0}.reference-em{position:relative;height:16px;width:16px;display:inline-block;text-align:center;margin:0 2px;font-family:PingFang SC;font-size:12px;line-height:16px;border-radius:50%;color:#fff;background-color:#555570;font-style:normal!important;vertical-align:text-top}.questions-pro{margin-top:14px;display:flex;font-size:14px;font-weight:400;overflow:hidden;column-gap:10px}.questions-pro .qs-left{display:flex;align-items:center;height:22px}.questions-pro .qs-left img{display:inline}.questions-pro .qs-left .qs-icon{width:16px;height:16px}.questions-pro .qs-left span{margin-left:4px;font-size:14px;color:var(--color-text-empty);line-height:20px;font-weight:400;white-space:nowrap}.questions-pro .qs-left+.q{width:max-content;overflow:visible}.questions-pro .q{color:var(--color-text-desc);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:#fff;cursor:pointer;line-height:20px;padding:1px 10px;border-radius:4px;margin-bottom:10px;position:relative}.questions-pro .q .icon-arrow{position:absolute;top:50%;right:0;transform:translateY(-50%)}.simple .chat-item-markmap{height:290px}.chat-item-markmap{position:relative;height:370px;overflow:hidden}.chat-item-markmap .c-markmap{width:100%;height:100%}.chat-item-markmap .c-markmap .markmap{display:flex;align-items:center;width:100%;height:100%}.chat-item-markmap_toolbar{display:flex;position:absolute;top:4px;right:4px;color:#999aaa;gap:4px}.chat-item-markmap_toolbar svg{width:16px;height:16px}.chat-item-markmap-error{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.chat-item-markmap-error img{object-fit:contain;flex:1;min-height:0}.c-markmap-loading{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;height:356px;color:#555666;font-family:PingFang SC;font-size:14px;font-style:normal;font-weight:400;line-height:24px}.c-markmap-loading img{width:48px!important;height:48px!important}.c-markmap-loading .markmap-text{margin-bottom:24px}.c-markmap-error{height:356px;text-align:center;display:flex;align-items:center;justify-content:center;color:#555666;font-family:PingFang SC;font-size:14px;font-style:normal;font-weight:400;line-height:24px}.c-markmap-error img{margin-bottom:24px}.c-markmap-error button{width:224px;margin-top:24px}.markmap-dialog-wrap{border-radius:0!important;position:relative;width:auto!important;padding:0!important}.markmap-dialog-wrap .el-dialog__headerbtn{width:16px;height:16px;top:16px;right:16px}.markmap-dialog-wrap .el-dialog__headerbtn .el-dialog__close{color:#222226}.markmap-dialog-wrap .el-dialog__header,.markmap-dialog-wrap .el-dialog__body{padding:0}.markmap-dialog-wrap .markmap-download{position:absolute;bottom:16px;right:16px;color:#222226;width:24px;height:24px}.markmap-dialog{width:auto;display:flex;justify-content:center;width:100vw;height:100vh;overflow:auto;background-color:#fff}.chat-login-btn{display:flex;padding:4px 12px;align-items:flex-start;border-radius:16px;background:#6d5ffd;color:#fff;font-family:PingFang SC;font-size:16px;font-style:normal;font-weight:500;line-height:24px;cursor:pointer}.file-doc{padding:10px;display:flex;background-color:#fff;margin-top:10px;color:#555666;border-radius:4px}.file-doc img{display:inline-block;width:24px;height:24px;margin-right:10px}.chat-item-link .link-info{padding:10px;display:flex;background-color:#fff;margin-top:10px;border-radius:4px;color:#555666;align-items:center;line-height:20px}.chat-item-link .link-info img{display:inline-block;width:24px;height:24px;margin-right:10px}.chat-item-link .link-info span{display:inline-block;word-break:break-all;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-item-link .link-info span a{color:#555666}.icon-loading-link[data-v-882eb42b]{width:34px;height:34px;margin:-7px!important}.icon-loading-error[data-v-882eb42b]{width:16px;height:16px}.msg-link-error[data-v-e4757782]{display:flex;align-items:center}.msg-link-error span[data-v-e4757782]{line-height:1}.msg-link-error .icon-error[data-v-e4757782]{width:16px;height:16px;margin-left:4px}.msg-error[data-v-e4757782]{display:flex;align-items:center}.msg-error span[data-v-e4757782]{line-height:1}.msg-error .icon-error[data-v-e4757782]{width:16px;height:16px;margin-left:4px}.msg-left[data-v-8b2336a3] .md_doc_content{line-height:2px}.msg-left[data-v-8b2336a3] .md_doc_content code{line-height:20px}.msg-left[data-v-8b2336a3] .md_doc_content .chat-btns{line-height:25px}.markmap-icon[data-v-8b2336a3]{height:10px}.global-search-prev[data-v-8b2336a3]{font-size:15px;color:#222226;font-weight:500;display:flex;align-items:center;margin-bottom:12px;column-gap:4px}.global-search-prev svg[data-v-8b2336a3]{width:16px;height:16px}.chat-markmap[data-v-8b2336a3]{position:absolute;right:0;bottom:0;height:20px;border-radius:12px 0;background:linear-gradient(141deg,#e2b1ff 5.23%,#6e60fd 97.15%);color:#fff;font-size:12px;font-weight:500;line-height:16px;padding:0 4px;display:flex;align-items:center;column-gap:2px;cursor:pointer}.chat-tree[data-v-8b2336a3]{padding:0!important;border-radius:12px!important;background:linear-gradient(180deg,#6d5ffd33,#60bbfd33)!important}.paper{display:inline-flex;align-items:center;height:16px;line-height:16px;margin-right:10px}.paper .paper-main{-webkit-user-select:none;user-select:none;vertical-align:middle;font-size:12px;margin:0 4px;overflow:hidden}.paper .next,.paper .prev{cursor:pointer}.paper svg{display:inline-block;width:16px;height:16px;vertical-align:middle;stroke:#555666}.paper svg.disable{stroke:#999aaa}.vscode-dark svg{stroke:#ccccd8}.vscode-dark svg.disable{stroke:#999aaa}.chat-search_re_feedback{margin-left:10px;color:#555666}.chat-search_re_feedback .re_feedback_inner{display:flex;align-items:center;border-radius:4px;background:#f2f2f5;padding:4px 10px}.chat-search_re_feedback .re_feedback_inner .re_feedback-item{cursor:pointer;padding:0 3px;line-height:0}.chat-search_re_feedback .re_feedback_inner .re_feedback-item:last-child{margin-right:0}.chat-search_re_feedback .re_feedback_inner .re_feedback-item img{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:24px;height:24px}:root,:host{--van-black: #000;--van-white: #fff;--van-gray-1: #f7f8fa;--van-gray-2: #f2f3f5;--van-gray-3: #ebedf0;--van-gray-4: #dcdee0;--van-gray-5: #c8c9cc;--van-gray-6: #969799;--van-gray-7: #646566;--van-gray-8: #323233;--van-red: #ee0a24;--van-blue: #1989fa;--van-orange: #ff976a;--van-orange-dark: #ed6a0c;--van-orange-light: #fffbe8;--van-green: #07c160;--van-gradient-red: linear-gradient(to right, #ff6034, #ee0a24);--van-gradient-orange: linear-gradient(to right, #ffd01e, #ff8917);--van-primary-color: var(--van-blue);--van-success-color: var(--van-green);--van-danger-color: var(--van-red);--van-warning-color: var(--van-orange);--van-text-color: var(--van-gray-8);--van-text-color-2: var(--van-gray-6);--van-text-color-3: var(--van-gray-5);--van-active-color: var(--van-gray-2);--van-active-opacity: .6;--van-disabled-opacity: .5;--van-background: var(--van-gray-1);--van-background-2: var(--van-white);--van-background-3: var(--van-white);--van-padding-base: 4px;--van-padding-xs: 8px;--van-padding-sm: 12px;--van-padding-md: 16px;--van-padding-lg: 24px;--van-padding-xl: 32px;--van-font-bold: 600;--van-font-size-xs: 10px;--van-font-size-sm: 12px;--van-font-size-md: 14px;--van-font-size-lg: 16px;--van-line-height-xs: 14px;--van-line-height-sm: 18px;--van-line-height-md: 20px;--van-line-height-lg: 22px;--van-base-font: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Segoe UI, Arial, Roboto, "PingFang SC", "miui", "Hiragino Sans GB", "Microsoft Yahei", sans-serif;--van-price-font: avenir-heavy, "PingFang SC", helvetica neue, arial, sans-serif;--van-duration-base: .3s;--van-duration-fast: .2s;--van-ease-out: ease-out;--van-ease-in: ease-in;--van-border-color: var(--van-gray-3);--van-border-width: 1px;--van-radius-sm: 2px;--van-radius-md: 4px;--van-radius-lg: 8px;--van-radius-max: 999px}.van-theme-dark{--van-text-color: #f5f5f5;--van-text-color-2: #707070;--van-text-color-3: #4d4d4d;--van-border-color: #3a3a3c;--van-active-color: #3a3a3c;--van-background: #000;--van-background-2: #1c1c1e;--van-background-3: #37363b}html{-webkit-tap-highlight-color:transparent}body{margin:0;font-family:var(--van-base-font)}a{text-decoration:none}input,button,textarea{color:inherit;font:inherit}a:focus,input:focus,button:focus,textarea:focus,[class*=van-]:focus{outline:none}ol,ul{margin:0;padding:0;list-style:none}@keyframes van-slide-up-enter{0%{transform:translate3d(0,100%,0)}}@keyframes van-slide-up-leave{to{transform:translate3d(0,100%,0)}}@keyframes van-slide-down-enter{0%{transform:translate3d(0,-100%,0)}}@keyframes van-slide-down-leave{to{transform:translate3d(0,-100%,0)}}@keyframes van-slide-left-enter{0%{transform:translate3d(-100%,0,0)}}@keyframes van-slide-left-leave{to{transform:translate3d(-100%,0,0)}}@keyframes van-slide-right-enter{0%{transform:translate3d(100%,0,0)}}@keyframes van-slide-right-leave{to{transform:translate3d(100%,0,0)}}@keyframes van-fade-in{0%{opacity:0}to{opacity:1}}@keyframes van-fade-out{0%{opacity:1}to{opacity:0}}@keyframes van-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.van-fade-enter-active{animation:var(--van-duration-base) van-fade-in both var(--van-ease-out)}.van-fade-leave-active{animation:var(--van-duration-base) van-fade-out both var(--van-ease-in)}.van-slide-up-enter-active{animation:van-slide-up-enter var(--van-duration-base) both var(--van-ease-out)}.van-slide-up-leave-active{animation:van-slide-up-leave var(--van-duration-base) both var(--van-ease-in)}.van-slide-down-enter-active{animation:van-slide-down-enter var(--van-duration-base) both var(--van-ease-out)}.van-slide-down-leave-active{animation:van-slide-down-leave var(--van-duration-base) both var(--van-ease-in)}.van-slide-left-enter-active{animation:van-slide-left-enter var(--van-duration-base) both var(--van-ease-out)}.van-slide-left-leave-active{animation:van-slide-left-leave var(--van-duration-base) both var(--van-ease-in)}.van-slide-right-enter-active{animation:van-slide-right-enter var(--van-duration-base) both var(--van-ease-out)}.van-slide-right-leave-active{animation:van-slide-right-leave var(--van-duration-base) both var(--van-ease-in)}.van-clearfix:after{display:table;clear:both;content:""}.van-ellipsis{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.van-multi-ellipsis--l2{display:-webkit-box;overflow:hidden;text-overflow:ellipsis;-webkit-line-clamp:2;line-break:anywhere;-webkit-box-orient:vertical}.van-multi-ellipsis--l3{display:-webkit-box;overflow:hidden;text-overflow:ellipsis;-webkit-line-clamp:3;line-break:anywhere;-webkit-box-orient:vertical}.van-safe-area-top{padding-top:constant(safe-area-inset-top);padding-top:env(safe-area-inset-top)}.van-safe-area-bottom{padding-bottom:constant(safe-area-inset-bottom);padding-bottom:env(safe-area-inset-bottom)}.van-haptics-feedback{cursor:pointer}.van-haptics-feedback:active{opacity:var(--van-active-opacity)}[class*=van-hairline]:after{position:absolute;box-sizing:border-box;content:" ";pointer-events:none;top:-50%;right:-50%;bottom:-50%;left:-50%;border:0 solid var(--van-border-color);transform:scale(.5)}.van-hairline,.van-hairline--top,.van-hairline--left,.van-hairline--right,.van-hairline--bottom,.van-hairline--surround,.van-hairline--top-bottom{position:relative}.van-hairline--top:after{border-top-width:var(--van-border-width)}.van-hairline--left:after{border-left-width:var(--van-border-width)}.van-hairline--right:after{border-right-width:var(--van-border-width)}.van-hairline--bottom:after{border-bottom-width:var(--van-border-width)}.van-hairline--top-bottom:after,.van-hairline-unset--top-bottom:after{border-width:var(--van-border-width) 0}.van-hairline--surround:after{border-width:var(--van-border-width)}:root,:host{--van-swipe-indicator-size: 6px;--van-swipe-indicator-margin: var(--van-padding-sm);--van-swipe-indicator-active-opacity: 1;--van-swipe-indicator-inactive-opacity: .3;--van-swipe-indicator-active-background: var(--van-primary-color);--van-swipe-indicator-inactive-background: var(--van-border-color)}.van-swipe{position:relative;overflow:hidden;transform:translateZ(0);cursor:-webkit-grab;cursor:grab;-webkit-user-select:none;user-select:none}.van-swipe__track{display:flex;height:100%;transition-property:transform}.van-swipe__track--vertical{flex-direction:column}.van-swipe__indicators{position:absolute;bottom:var(--van-swipe-indicator-margin);left:50%;display:flex;transform:translate(-50%)}.van-swipe__indicators--vertical{top:50%;bottom:auto;left:var(--van-swipe-indicator-margin);flex-direction:column;transform:translateY(-50%)}.van-swipe__indicators--vertical .van-swipe__indicator:not(:last-child){margin-bottom:var(--van-swipe-indicator-size)}.van-swipe__indicator{width:var(--van-swipe-indicator-size);height:var(--van-swipe-indicator-size);background-color:var(--van-swipe-indicator-inactive-background);border-radius:100%;opacity:var(--van-swipe-indicator-inactive-opacity);transition:opacity var(--van-duration-fast),background-color var(--van-duration-fast)}.van-swipe__indicator:not(:last-child){margin-right:var(--van-swipe-indicator-size)}.van-swipe__indicator--active{background-color:var(--van-swipe-indicator-active-background);opacity:var(--van-swipe-indicator-active-opacity)}.chat-swipe-pro[data-v-869ff4c3]{max-width:100%}.chat-swipe-pro .chat-swipe-content[data-v-869ff4c3]{position:relative;border-radius:0 12px 12px}.chat-swipe-pro .chat-swipe-content[data-v-869ff4c3] .van-swipe{transition:all .2s;cursor:auto;-webkit-user-select:auto;user-select:auto;position:relative;border-top-right-radius:12px;border-bottom-left-radius:12px;border-bottom-right-radius:12px;background-color:#6d5ffd0d;z-index:1;height:var(--swipe-height);transition-duration:.3s;transition-delay:0;transition-property:height}.chat-swipe-pro .chat-swipe-content[data-v-869ff4c3] .van-swipe .swipe-item.mind-item .swipe-item—inner{height:100%}.chat-swipe-pro .chat-swipe-content[data-v-869ff4c3]:after{content:"";position:absolute;bottom:-8px;width:calc(100% - 20px);height:8px;left:10px;background:#6d5ffd1a;border-radius:0 0 10px 10px}.chat-swipe-pro .control-view[data-v-869ff4c3]{margin-top:10px;display:flex;justify-content:space-between;align-items:center;height:32px}.chat-swipe-pro .control-view.end[data-v-869ff4c3]{justify-content:flex-end}.chat-swipe-pro .control-view.start[data-v-869ff4c3]{justify-content:flex-start}.chat-swipe-pro .control-view .middle[data-v-869ff4c3]{align-items:center;display:flex}.re-issus[data-v-89a0119f]{width:100%;text-align:center;-webkit-user-select:none;user-select:none;padding-bottom:30px}.re-issus.block[data-v-89a0119f]{position:absolute;top:0;left:0;margin:auto;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center}.re-issus img[data-v-89a0119f]{width:138px;height:153px;-webkit-user-drag:none;margin-bottom:72px}.re-issus-line[data-v-89a0119f]{margin-top:24px;display:flex;align-items:center;justify-content:space-between}.re-issus-line .line[data-v-89a0119f]{flex:1;display:block;width:100px;height:1px;background:linear-gradient(90deg,#fff0,#ccccd8e6)}.re-issus-line .line[data-v-89a0119f]:last-child{transform:rotate(180deg)}.re-issus-line .msg[data-v-89a0119f]{margin:0 8px;font-size:12px;color:#999aaa;font-style:normal;font-weight:400;line-height:24px}.re-issus-btn[data-v-89a0119f]{cursor:pointer;margin:24px auto 0;width:240px;border:none;display:flex;padding:10px 0;height:32px;color:#fff;justify-content:center;align-items:center;background-color:#6d5ffd;border-radius:20px;transition:all .2s;font-size:12px;font-weight:400;line-height:28px}.re-issus-btn[data-v-89a0119f]:active{opacity:.9}:root{--el-loading-spinner-size:42px;--el-loading-fullscreen-spinner-size:50px}.el-loading-parent--relative{position:relative!important}.el-loading-parent--hidden{overflow:hidden!important}.el-loading-mask{position:absolute;z-index:2000;background-color:var(--el-mask-color);margin:0;top:0;right:0;bottom:0;left:0;transition:opacity var(--el-transition-duration)}.el-loading-mask.is-fullscreen{position:fixed}.el-loading-mask.is-fullscreen .el-loading-spinner{margin-top:calc((0px - var(--el-loading-fullscreen-spinner-size))/ 2)}.el-loading-mask.is-fullscreen .el-loading-spinner .circular{height:var(--el-loading-fullscreen-spinner-size);width:var(--el-loading-fullscreen-spinner-size)}.el-loading-spinner{top:50%;margin-top:calc((0px - var(--el-loading-spinner-size))/ 2);width:100%;text-align:center;position:absolute}.el-loading-spinner .el-loading-text{color:var(--el-color-primary);margin:3px 0;font-size:14px}.el-loading-spinner .circular{display:inline;height:var(--el-loading-spinner-size);width:var(--el-loading-spinner-size);-webkit-animation:loading-rotate 2s linear infinite;animation:loading-rotate 2s linear infinite}.el-loading-spinner .path{-webkit-animation:loading-dash 1.5s ease-in-out infinite;animation:loading-dash 1.5s ease-in-out infinite;stroke-dasharray:90,150;stroke-dashoffset:0;stroke-width:2;stroke:var(--el-color-primary);stroke-linecap:round}.el-loading-spinner i{color:var(--el-color-primary)}.el-loading-fade-enter-from,.el-loading-fade-leave-to{opacity:0}@-webkit-keyframes loading-rotate{to{transform:rotate(360deg)}}@keyframes loading-rotate{to{transform:rotate(360deg)}}@-webkit-keyframes loading-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40px}to{stroke-dasharray:90,150;stroke-dashoffset:-120px}}@keyframes loading-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40px}to{stroke-dasharray:90,150;stroke-dashoffset:-120px}}.el-scrollbar{--el-scrollbar-opacity:.3;--el-scrollbar-bg-color:var(--el-text-color-secondary);--el-scrollbar-hover-opacity:.5;--el-scrollbar-hover-bg-color:var(--el-text-color-secondary)}.el-scrollbar{overflow:hidden;position:relative;height:100%}.el-scrollbar__wrap{overflow:auto;height:100%}.el-scrollbar__wrap--hidden-default{scrollbar-width:none}.el-scrollbar__wrap--hidden-default::-webkit-scrollbar{display:none}.el-scrollbar__thumb{position:relative;display:block;width:0;height:0;cursor:pointer;border-radius:inherit;background-color:var(--el-scrollbar-bg-color,var(--el-text-color-secondary));transition:var(--el-transition-duration) background-color;opacity:var(--el-scrollbar-opacity,.3)}.el-scrollbar__thumb:hover{background-color:var(--el-scrollbar-hover-bg-color,var(--el-text-color-secondary));opacity:var(--el-scrollbar-hover-opacity,.5)}.el-scrollbar__bar{position:absolute;right:2px;bottom:2px;z-index:1;border-radius:4px}.el-scrollbar__bar.is-vertical{width:6px;top:2px}.el-scrollbar__bar.is-vertical>div{width:100%}.el-scrollbar__bar.is-horizontal{height:6px;left:2px}.el-scrollbar__bar.is-horizontal>div{height:100%}.el-scrollbar-fade-enter-active{transition:opacity .34s ease-out}.el-scrollbar-fade-leave-active{transition:opacity .12s ease-out}.el-scrollbar-fade-enter-from,.el-scrollbar-fade-leave-active{opacity:0}.share-chat-item.code-preline[data-v-39eb842a] .md_doc_content .md_code_container code{white-space:pre-wrap}.share-chat-item[data-v-39eb842a] .md_doc_content .reference-em{display:none}.share-chat-item[data-v-39eb842a] .md_doc_content .md_code_container .chat_copy_btn:before{right:-4px}.share-chat-item .file-msg[data-v-39eb842a]{border:1px solid #E8E8F0;display:inline-flex;padding:6px 10px;border-radius:4px;margin-top:6px;align-items:center}.share-chat-item .file-msg img[data-v-39eb842a]{width:24px;margin-right:6px}.share-chat-item .link-msg[data-v-39eb842a]{display:flex;max-width:max-content}.share-chat-item .link-msg img[data-v-39eb842a],.share-chat-item .link-msg span[data-v-39eb842a]:first-child{flex-shrink:0}.share-chat-item .link-msg span[data-v-39eb842a]:last-child{max-width:90%}.share-chat-item .link-msg a[data-v-39eb842a]{color:#1874d2;width:100%;text-overflow:ellipsis;overflow:hidden;word-break:break-all;white-space:nowrap;display:block}.share-chat-item .msg-left[data-v-39eb842a] .md_doc_content{line-height:2px}.share-chat-item .msg-left[data-v-39eb842a] .md_doc_content code{line-height:20px}.share-chat-item .msg-left[data-v-39eb842a] .md_doc_content .chat-btns{line-height:25px}.share-chat-item .markmap-icon[data-v-39eb842a]{height:10px}.share-chat-item .chat-markmap[data-v-39eb842a]{position:absolute;right:0;bottom:0;height:20px;border-radius:12px 0;background:linear-gradient(141deg,#e2b1ff 5.23%,#6e60fd 97.15%);color:#fff;font-size:12px;font-weight:500;line-height:16px;padding:0 4px;display:flex;align-items:center;column-gap:2px;cursor:pointer}.share-preview .share-preview-inner[data-v-2340eb75]{padding:4px 24px 0}.share-preview .share-preview-inner .share-preview-item[data-v-2340eb75]{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:8px}.share-preview .share-preview-inner .share-preview-item[data-v-2340eb75]:last-child{margin-bottom:0}.share-preview .share-preview-inner .share-preview-item .user-avatar[data-v-2340eb75]{border-radius:50%;width:32px;height:32px;font-size:0}.share-preview .share-preview-inner .share-preview-item .user-avatar img[data-v-2340eb75]{border-radius:50%;width:100%;height:100%}.share-preview .share-preview-inner .share-preview-item .share-preview-item-content[data-v-2340eb75]{margin-left:8px;flex:1;overflow:hidden;color:#222226;width:100%;box-sizing:border-box;font-size:15px;padding:4px 0}.share-preview .share-preview-inner .share-preview-item .share-preview-item-content[data-v-2340eb75] .chat-md p{margin:0;white-space:pre-line;line-height:24px}.share-preview .share-empty[data-v-2340eb75]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding-top:40%}.share-preview .share-empty img[data-v-2340eb75]{width:120px}.share-preview .share-empty p[data-v-2340eb75]{margin:0;text-align:center;font-size:14px;color:#999aaa}.share-preview-content_inner[data-v-95fbabac],.export-image-content_inner[data-v-95fbabac]{overflow-y:auto;padding:24px 0 0}.share-preview-content_footer[data-v-95fbabac],.export-image-content_footer[data-v-95fbabac]{padding:4px;height:48px;border-radius:8px;margin:18px 24px 0;background:#6d5ffd0d;display:flex;align-items:center;justify-content:space-between}.share-preview-content_footer span[data-v-95fbabac],.export-image-content_footer span[data-v-95fbabac]{overflow:hidden;color:#999aaa;text-overflow:ellipsis;font-size:16px;font-weight:400;display:block;flex:1;padding-left:10px;word-break:break-all;white-space:nowrap}.share-preview-content_footer button[data-v-95fbabac],.export-image-content_footer button[data-v-95fbabac]{border:none;cursor:pointer;padding:0 16px;margin-left:10px;flex-shrink:0;height:40px;line-height:40px;border-radius:25px;transition:all .2s;font-weight:500;color:#fff;font-size:16px;text-align:center;background-color:#6d5ffd}.share-preview-content_footer button.save[data-v-95fbabac],.export-image-content_footer button.save[data-v-95fbabac]{padding:0 60px;margin:0 auto}.share-preview-content_footer button[data-v-95fbabac]:hover,.export-image-content_footer button[data-v-95fbabac]:hover{opacity:.9}.share-preview-content_footer.btns[data-v-95fbabac],.export-image-content_footer.btns[data-v-95fbabac]{height:40px;background:#0000}.share-export-action[data-v-95fbabac]{position:absolute;bottom:0;left:0;width:100%;padding:40px;z-index:100;display:flex;justify-content:center;align-items:center;background-color:#fff}.share-export-action[data-v-95fbabac]:before{display:block;content:" ";position:absolute;top:-38px;left:-1px;right:-1px;height:38px;pointer-events:none;background:linear-gradient(0deg,#fffc,#fff3 60%,#fff0)}.share-export-action button[data-v-95fbabac]{cursor:pointer;margin-right:32px;width:120px;height:32px;line-height:30px;border-radius:20px;transition:all .2s;font-weight:500;color:#999aaa;background-color:#fff;font-size:12px;text-align:center;border:1px solid #F2F2F5}.share-export-action button[data-v-95fbabac]:hover{background-color:#f2f2f5}.share-export-action button.primary-btn[data-v-95fbabac]{background-color:#6d5ffd;color:#fff}.share-export-action button.primary-btn[data-v-95fbabac]:hover{opacity:.9}.share-export-action button[data-v-95fbabac]:last-child{margin-right:0}.share-export-action button[data-v-95fbabac]:active{opacity:.9}.export-image-dialog{width:80%;max-width:1200px}.share-preview-dialog .el-dialog__header,.export-image-dialog .el-dialog__header{padding:0}.share-preview-dialog .el-dialog__header .el-dialog__headerbtn,.export-image-dialog .el-dialog__header .el-dialog__headerbtn{width:24px;height:24px;top:8px;right:8px;z-index:10}.share-preview-dialog .el-dialog__body,.export-image-dialog .el-dialog__body{padding:0 0 16px}@media screen and (min-width: 769px){.scroll-bar-style:hover::-webkit-scrollbar-thumb,.chat-items:hover::-webkit-scrollbar-thumb{box-shadow:inset 0 0 5px #0000001a;background:#f7f7fc}.scroll-bar-style::-webkit-scrollbar,.chat-items::-webkit-scrollbar{width:5px;height:5px}.scroll-bar-style::-webkit-scrollbar-thumb,.chat-items::-webkit-scrollbar-thumb{border-radius:10px;box-shadow:inset 0 0 5px #0000;background:#0000}.scroll-bar-style::-webkit-scrollbar-track,.chat-items::-webkit-scrollbar-track{border-radius:10px;background:#0000}}.chat-items{flex:1;overflow-y:auto;height:100%;min-width:0;position:relative;display:flex;flex-direction:column}.chat-items.enable-checkbox{padding-bottom:112px;padding-left:24px}.chat-items .chat-items-scroll{padding:0 0 60px;max-width:1036px;margin:0 auto;width:100%}.chat-items .record-item{color:var(--color-text-primary);width:100%;box-sizing:border-box;display:flex;justify-content:flex-start;align-items:flex-start;font-size:15px;position:relative}.chat-items .record-item .enable-check-overlay{position:absolute;top:0;left:0;width:100%;height:100%;border-radius:6px;cursor:not-allowed;z-index:10;padding:10px 0;box-sizing:content-box}.chat-items .record-item .chat-item-checkbox{position:absolute;left:-20px;top:0}.chat-items .record-item.left .text .msg{border-radius:0 12px 12px;position:relative;background:#f8f8f8}.chat-items .record-item.right{flex-direction:row-reverse}.chat-items .record-item.right .text{color:#fff;border-radius:12px 0 12px 12px;background:linear-gradient(90deg,#a391ff,#7782ff)}.chat-items .record-item .text{border-radius:4px;position:relative;max-width:100%;height:100%;word-break:break-all}.chat-items .record-item .text .msg{width:100%;height:100%;overflow:auto;padding:10px}.chat-items .record-item .text .chat-item-loading{display:flex;align-items:center}.chat-items .record-item .text .chat-item-loading img{margin-left:4px}.chat-items .record-item .text p{margin:0;white-space:pre-line;line-height:22px}.chat-items .record-item .text p+p,.chat-items .record-item .text p+pre{margin-top:8px}.chat-items .record-item .text .icon-loading{width:20px;height:20px;vertical-align:middle}.chat-items .record-item+.record-item{margin-top:20px}@keyframes fadeRadialGradient-d525cfa4{0%{opacity:0}to{opacity:1}}.welcome[data-v-d525cfa4]{max-width:878px}.welcome .slogan[data-v-d525cfa4]{position:relative}.welcome .slogan .slogan-bg[data-v-d525cfa4]{background:transparent;content:"";display:block;position:absolute;top:-158px;left:50%;-webkit-backdrop-filter:blur(150px);backdrop-filter:blur(150px);width:580px;height:580px;z-index:1;transform:translate(-50%);animation:fadeRadialGradient-d525cfa4 1.5s ease-in-out;background:radial-gradient(circle at 50%,transparent,rgb(255,255,255) 85%),linear-gradient(114.69deg,#faf4ff 31.52%,#eafaff 96.91%)}.welcome .slogan .logo-main[data-v-d525cfa4]{z-index:2}.welcome[data-v-d525cfa4]>*{z-index:2}.hots{margin-top:24px}.hots .hots-title{line-height:24px;display:flex;align-items:center;justify-content:space-between;color:var(--color-text-desc)}.hots .hots-title:active{opacity:.8}.hots .hots-title svg,.hots .hots-title span{cursor:pointer;vertical-align:middle}.hots .hots-title a{color:var(--color-text-active)}.hots .hots-title a:hover{color:#3d3ad1;font-weight:600}.hots .icon-refresh{transition:transform .5s linear}.hots .hots-list{margin-top:12px;display:flex;flex-wrap:wrap;justify-content:space-between}.hots .hots-list .hot{margin-bottom:14px;width:calc((100% - 32px) / 3);cursor:pointer}.hots .hots-list .hot .hot-item{padding:12px 10px;border-radius:8px;box-shadow:4px 4px 12px var(--color-box-shadow);color:var(--color-text-content);display:flex;justify-content:space-between;align-items:center}.hots .hots-list .hot .hot-item:hover,.hots .hots-list .hot .hot-item:hover .icon-arrow-right{color:var(--color-text-active)}.hots .hots-list .hot .hot-item .hot-title{flex:1}.sug-container[data-v-3dc1fece]{max-width:890px;padding:0;position:absolute;left:0;bottom:100%;width:100%;z-index:10;margin-top:-10px}.chat-sug[data-v-3dc1fece]{width:100%;box-sizing:border-box;background:transparent;border-radius:16px;box-shadow:0 4px 12px 0 var(--color-box-shadow)}.chat-sug .sug-box[data-v-3dc1fece]{color:var(--color-text-primary);padding:10px 0;width:100%;z-index:1;position:relative;overflow:hidden;background:var(--color-sug-bg);border-radius:8px}.chat-sug .sug-box img[data-v-3dc1fece]{width:16px;vertical-align:-3px;margin-left:4px}.chat-sug .sug-box .icon-arrow[data-v-3dc1fece]{display:none}.chat-sug .sug-box .sug-header[data-v-3dc1fece]{height:32px;display:flex;justify-content:space-between;align-items:center;font-size:14px;padding:0 14px;margin-bottom:4px}.chat-sug .sug-box .sug-header .title[data-v-3dc1fece]{color:#fc5531;flex:1;overflow:hidden}.chat-sug .sug-box .sug-header .-icon-close[data-v-3dc1fece]{cursor:pointer;color:#fc5531}.chat-sug .sug-box .sug-header .change[data-v-3dc1fece]{cursor:pointer}.chat-sug .sug-box p[data-v-3dc1fece]{padding:14px}.chat-sug .sug-box .sug-list .sug-item[data-v-3dc1fece]{display:flex;justify-content:space-between;align-items:center;height:32px;padding:0 14px;cursor:pointer}.chat-sug .sug-box .sug-list .sug-item[data-v-3dc1fece]:hover,.chat-sug .sug-box .sug-list .sug-item.active[data-v-3dc1fece]{background:var(--color-sug-active-bg);color:var(--color-text-active)}.chat-sug .sug-box .sug-list .sug-item:hover .icon-arrow[data-v-3dc1fece],.chat-sug .sug-box .sug-list .sug-item.active .icon-arrow[data-v-3dc1fece]{display:block}.chat-sug .sug-box .sug-list .sug-item span[data-v-3dc1fece]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@keyframes dot-scale-dbd31b96{0%,to{width:10px;height:10px}50%{width:6px;height:6px}}.chat-search-loading-icon[data-v-dbd31b96]{width:40px;height:28px;border-radius:8px;position:relative;background:linear-gradient(141deg,#6794f5 16.67%,#9003ff 85%)}.chat-search-loading-icon .dot[data-v-dbd31b96]{background:#fff;border-radius:50%;position:absolute;top:50%;left:50%}.chat-search-loading-icon .dot[data-v-dbd31b96]:first-child{width:10px;height:10px;transform:translate(calc(-50% - 4.5px),-50%);animation:dot-scale-dbd31b96 .9s linear infinite}.chat-search-loading-icon .dot[data-v-dbd31b96]:last-child{width:6px;height:6px;transform:translate(calc(-50% + 4.5px),-50%);animation:dot-scale-dbd31b96 .9s linear infinite;animation-delay:.45s}.status-icon[data-v-b128b257]{position:absolute;top:50%;transform:translateY(-50%);right:10px;width:38px;height:38px;display:flex;justify-content:center;align-items:center;z-index:3}.status-icon .icon-send[data-v-b128b257]{width:28px;height:28px;opacity:var(--ddd6a886)}.status-icon .icon-pause[data-v-b128b257]{width:28px;height:28px}.status-icon img[data-v-b128b257]{cursor:pointer}.status-icon svg[data-v-b128b257]{width:100%;height:100%}.el-switch{--el-switch-on-color:var(--el-color-primary);--el-switch-off-color:var(--el-border-color)}.el-switch{display:inline-flex;align-items:center;position:relative;font-size:14px;line-height:20px;height:32px;vertical-align:middle}.el-switch.is-disabled .el-switch__core,.el-switch.is-disabled .el-switch__label{cursor:not-allowed}.el-switch__label{transition:var(--el-transition-duration-fast);height:20px;display:inline-block;font-size:14px;font-weight:500;cursor:pointer;vertical-align:middle;color:var(--el-text-color-primary)}.el-switch__label.is-active{color:var(--el-color-primary)}.el-switch__label--left{margin-right:10px}.el-switch__label--right{margin-left:10px}.el-switch__label *{line-height:1;font-size:14px;display:inline-block}.el-switch__label .el-icon{height:inherit}.el-switch__label .el-icon svg{vertical-align:middle}.el-switch__input{position:absolute;width:0;height:0;opacity:0;margin:0}.el-switch__input:focus-visible~.el-switch__core{outline:2px solid var(--el-switch-on-color);outline-offset:1px}.el-switch__core{display:inline-flex;position:relative;align-items:center;min-width:40px;height:20px;border:1px solid var(--el-switch-border-color,var(--el-switch-off-color));outline:0;border-radius:10px;box-sizing:border-box;background:var(--el-switch-off-color);cursor:pointer;transition:border-color var(--el-transition-duration),background-color var(--el-transition-duration)}.el-switch__core .el-switch__inner{width:100%;transition:all var(--el-transition-duration);height:16px;display:flex;justify-content:center;align-items:center;overflow:hidden;padding:0 4px 0 18px}.el-switch__core .el-switch__inner .is-icon,.el-switch__core .el-switch__inner .is-text{font-size:12px;color:var(--el-color-white);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.el-switch__core .el-switch__action{position:absolute;left:1px;border-radius:var(--el-border-radius-circle);transition:all var(--el-transition-duration);width:16px;height:16px;background-color:var(--el-color-white);display:flex;justify-content:center;align-items:center;color:var(--el-switch-off-color)}.el-switch.is-checked .el-switch__core{border-color:var(--el-switch-border-color,var(--el-switch-on-color));background-color:var(--el-switch-on-color)}.el-switch.is-checked .el-switch__core .el-switch__action{left:calc(100% - 17px);color:var(--el-switch-on-color)}.el-switch.is-checked .el-switch__core .el-switch__inner{padding:0 18px 0 4px}.el-switch.is-disabled{opacity:.6}.el-switch--wide .el-switch__label.el-switch__label--left span{left:10px}.el-switch--wide .el-switch__label.el-switch__label--right span{right:10px}.el-switch .label-fade-enter-from,.el-switch .label-fade-leave-active{opacity:0}.el-switch--large{font-size:14px;line-height:24px;height:40px}.el-switch--large .el-switch__label{height:24px;font-size:14px}.el-switch--large .el-switch__label *{font-size:14px}.el-switch--large .el-switch__core{min-width:50px;height:24px;border-radius:12px}.el-switch--large .el-switch__core .el-switch__inner{height:20px;padding:0 6px 0 22px}.el-switch--large .el-switch__core .el-switch__action{width:20px;height:20px}.el-switch--large.is-checked .el-switch__core .el-switch__action{left:calc(100% - 21px)}.el-switch--large.is-checked .el-switch__core .el-switch__inner{padding:0 22px 0 6px}.el-switch--small{font-size:12px;line-height:16px;height:24px}.el-switch--small .el-switch__label{height:16px;font-size:12px}.el-switch--small .el-switch__label *{font-size:12px}.el-switch--small .el-switch__core{min-width:30px;height:16px;border-radius:8px}.el-switch--small .el-switch__core .el-switch__inner{height:12px;padding:0 2px 0 14px}.el-switch--small .el-switch__core .el-switch__action{width:12px;height:12px}.el-switch--small.is-checked .el-switch__core .el-switch__action{left:calc(100% - 13px)}.el-switch--small.is-checked .el-switch__core .el-switch__inner{padding:0 14px 0 2px}.el-upload{--el-upload-dragger-padding-horizontal:40px;--el-upload-dragger-padding-vertical:10px}.el-upload{display:inline-flex;justify-content:center;align-items:center;cursor:pointer;outline:0}.el-upload__input{display:none}.el-upload__tip{font-size:12px;color:var(--el-text-color-regular);margin-top:7px}.el-upload iframe{position:absolute;z-index:-1;top:0;left:0;opacity:0}.el-upload--picture-card{--el-upload-picture-card-size:148px;background-color:var(--el-fill-color-lighter);border:1px dashed var(--el-border-color-darker);border-radius:6px;box-sizing:border-box;width:var(--el-upload-picture-card-size);height:var(--el-upload-picture-card-size);cursor:pointer;vertical-align:top;display:inline-flex;justify-content:center;align-items:center}.el-upload--picture-card>i{font-size:28px;color:var(--el-text-color-secondary)}.el-upload--picture-card:hover{border-color:var(--el-color-primary);color:var(--el-color-primary)}.el-upload.is-drag{display:block}.el-upload:focus{border-color:var(--el-color-primary);color:var(--el-color-primary)}.el-upload:focus .el-upload-dragger{border-color:var(--el-color-primary)}.el-upload-dragger{padding:var(--el-upload-dragger-padding-horizontal) var(--el-upload-dragger-padding-vertical);background-color:var(--el-fill-color-blank);border:1px dashed var(--el-border-color);border-radius:6px;box-sizing:border-box;text-align:center;cursor:pointer;position:relative;overflow:hidden}.el-upload-dragger .el-icon--upload{font-size:67px;color:var(--el-text-color-placeholder);margin-bottom:16px;line-height:50px}.el-upload-dragger+.el-upload__tip{text-align:center}.el-upload-dragger~.el-upload__files{border-top:var(--el-border);margin-top:7px;padding-top:5px}.el-upload-dragger .el-upload__text{color:var(--el-text-color-regular);font-size:14px;text-align:center}.el-upload-dragger .el-upload__text em{color:var(--el-color-primary);font-style:normal}.el-upload-dragger:hover{border-color:var(--el-color-primary)}.el-upload-dragger.is-dragover{padding:calc(var(--el-upload-dragger-padding-horizontal) - 1px) calc(var(--el-upload-dragger-padding-vertical) - 1px);background-color:var(--el-color-primary-light-9);border:2px dashed var(--el-color-primary)}.el-upload-list{margin:10px 0 0;padding:0;list-style:none;position:relative}.el-upload-list__item{transition:all .5s cubic-bezier(.55,0,.1,1);font-size:14px;color:var(--el-text-color-regular);margin-bottom:5px;position:relative;box-sizing:border-box;border-radius:4px;width:100%}.el-upload-list__item .el-progress{position:absolute;top:20px;width:100%}.el-upload-list__item .el-progress__text{position:absolute;right:0;top:-13px}.el-upload-list__item .el-progress-bar{margin-right:0;padding-right:0}.el-upload-list__item .el-icon--upload-success{color:var(--el-color-success)}.el-upload-list__item .el-icon--close{display:none;position:absolute;right:5px;top:50%;cursor:pointer;opacity:.75;color:var(--el-text-color-regular);transition:opacity var(--el-transition-duration);transform:translateY(-50%)}.el-upload-list__item .el-icon--close:hover{opacity:1;color:var(--el-color-primary)}.el-upload-list__item .el-icon--close-tip{display:none;position:absolute;top:1px;right:5px;font-size:12px;cursor:pointer;opacity:1;color:var(--el-color-primary);font-style:normal}.el-upload-list__item:hover{background-color:var(--el-fill-color-light)}.el-upload-list__item:hover .el-icon--close{display:inline-flex}.el-upload-list__item:hover .el-progress__text{display:none}.el-upload-list__item .el-upload-list__item-info{display:inline-flex;justify-content:center;flex-direction:column;width:calc(100% - 30px);margin-left:4px}.el-upload-list__item.is-success .el-upload-list__item-status-label{display:inline-flex}.el-upload-list__item.is-success .el-upload-list__item-name:focus,.el-upload-list__item.is-success .el-upload-list__item-name:hover{color:var(--el-color-primary);cursor:pointer}.el-upload-list__item.is-success:focus:not(:hover) .el-icon--close-tip{display:inline-block}.el-upload-list__item.is-success:active,.el-upload-list__item.is-success:not(.focusing):focus{outline-width:0}.el-upload-list__item.is-success:active .el-icon--close-tip,.el-upload-list__item.is-success:not(.focusing):focus .el-icon--close-tip{display:none}.el-upload-list__item.is-success:focus .el-upload-list__item-status-label,.el-upload-list__item.is-success:hover .el-upload-list__item-status-label{display:none;opacity:0}.el-upload-list__item-name{color:var(--el-text-color-regular);display:inline-flex;text-align:center;align-items:center;padding:0 4px;transition:color var(--el-transition-duration);font-size:var(--el-font-size-base)}.el-upload-list__item-name .el-icon{margin-right:6px;color:var(--el-text-color-secondary)}.el-upload-list__item-file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.el-upload-list__item-status-label{position:absolute;right:5px;top:0;line-height:inherit;display:none;height:100%;justify-content:center;align-items:center;transition:opacity var(--el-transition-duration)}.el-upload-list__item-delete{position:absolute;right:10px;top:0;font-size:12px;color:var(--el-text-color-regular);display:none}.el-upload-list__item-delete:hover{color:var(--el-color-primary)}.el-upload-list--picture-card{--el-upload-list-picture-card-size:148px;display:inline-flex;flex-wrap:wrap;margin:0}.el-upload-list--picture-card .el-upload-list__item{overflow:hidden;background-color:var(--el-fill-color-blank);border:1px solid var(--el-border-color);border-radius:6px;box-sizing:border-box;width:var(--el-upload-list-picture-card-size);height:var(--el-upload-list-picture-card-size);margin:0 8px 8px 0;padding:0;display:inline-flex}.el-upload-list--picture-card .el-upload-list__item .el-icon--check,.el-upload-list--picture-card .el-upload-list__item .el-icon--circle-check{color:#fff}.el-upload-list--picture-card .el-upload-list__item .el-icon--close{display:none}.el-upload-list--picture-card .el-upload-list__item:hover .el-upload-list__item-status-label{opacity:0;display:block}.el-upload-list--picture-card .el-upload-list__item:hover .el-progress__text{display:block}.el-upload-list--picture-card .el-upload-list__item .el-upload-list__item-name{display:none}.el-upload-list--picture-card .el-upload-list__item-thumbnail{width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.el-upload-list--picture-card .el-upload-list__item-status-label{right:-15px;top:-6px;width:40px;height:24px;background:var(--el-color-success);text-align:center;transform:rotate(45deg)}.el-upload-list--picture-card .el-upload-list__item-status-label i{font-size:12px;margin-top:11px;transform:rotate(-45deg)}.el-upload-list--picture-card .el-upload-list__item-actions{position:absolute;width:100%;height:100%;left:0;top:0;cursor:default;display:inline-flex;justify-content:center;align-items:center;color:#fff;opacity:0;font-size:20px;background-color:var(--el-overlay-color-lighter);transition:opacity var(--el-transition-duration)}.el-upload-list--picture-card .el-upload-list__item-actions span{display:none;cursor:pointer}.el-upload-list--picture-card .el-upload-list__item-actions span+span{margin-left:1rem}.el-upload-list--picture-card .el-upload-list__item-actions .el-upload-list__item-delete{position:static;font-size:inherit;color:inherit}.el-upload-list--picture-card .el-upload-list__item-actions:hover{opacity:1}.el-upload-list--picture-card .el-upload-list__item-actions:hover span{display:inline-flex}.el-upload-list--picture-card .el-progress{top:50%;left:50%;transform:translate(-50%,-50%);bottom:auto;width:126px}.el-upload-list--picture-card .el-progress .el-progress__text{top:50%}.el-upload-list--picture .el-upload-list__item{overflow:hidden;z-index:0;background-color:var(--el-fill-color-blank);border:1px solid var(--el-border-color);border-radius:6px;box-sizing:border-box;margin-top:10px;padding:10px;display:flex;align-items:center}.el-upload-list--picture .el-upload-list__item .el-icon--check,.el-upload-list--picture .el-upload-list__item .el-icon--circle-check{color:#fff}.el-upload-list--picture .el-upload-list__item:hover .el-upload-list__item-status-label{opacity:0;display:inline-flex}.el-upload-list--picture .el-upload-list__item:hover .el-progress__text{display:block}.el-upload-list--picture .el-upload-list__item.is-success .el-upload-list__item-name i{display:none}.el-upload-list--picture .el-upload-list__item .el-icon--close{top:5px;transform:translateY(0)}.el-upload-list--picture .el-upload-list__item-thumbnail{display:inline-flex;justify-content:center;align-items:center;width:70px;height:70px;-o-object-fit:contain;object-fit:contain;position:relative;z-index:1;background-color:var(--el-color-white)}.el-upload-list--picture .el-upload-list__item-status-label{position:absolute;right:-17px;top:-7px;width:46px;height:26px;background:var(--el-color-success);text-align:center;transform:rotate(45deg)}.el-upload-list--picture .el-upload-list__item-status-label i{font-size:12px;margin-top:12px;transform:rotate(-45deg)}.el-upload-list--picture .el-progress{position:relative;top:-7px}.el-upload-cover{position:absolute;left:0;top:0;width:100%;height:100%;overflow:hidden;z-index:10;cursor:default}.el-upload-cover:after{display:inline-block;content:"";height:100%;vertical-align:middle}.el-upload-cover img{display:block;width:100%;height:100%}.el-upload-cover__label{right:-15px;top:-6px;width:40px;height:24px;background:var(--el-color-success);text-align:center;transform:rotate(45deg)}.el-upload-cover__label i{font-size:12px;margin-top:11px;transform:rotate(-45deg);color:#fff}.el-upload-cover__progress{display:inline-block;vertical-align:middle;position:static;width:243px}.el-upload-cover__progress+.el-upload__inner{opacity:0}.el-upload-cover__content{position:absolute;top:0;left:0;width:100%;height:100%}.el-upload-cover__interact{position:absolute;bottom:0;left:0;width:100%;height:100%;background-color:var(--el-overlay-color-light);text-align:center}.el-upload-cover__interact .btn{display:inline-block;color:#fff;font-size:14px;cursor:pointer;vertical-align:middle;transition:var(--el-transition-md-fade);margin-top:60px}.el-upload-cover__interact .btn i{margin-top:0}.el-upload-cover__interact .btn span{opacity:0;transition:opacity .15s linear}.el-upload-cover__interact .btn:not(:first-child){margin-left:35px}.el-upload-cover__interact .btn:hover{transform:translateY(-13px)}.el-upload-cover__interact .btn:hover span{opacity:1}.el-upload-cover__interact .btn i{color:#fff;display:block;font-size:24px;line-height:inherit;margin:0 auto 5px}.el-upload-cover__title{position:absolute;bottom:0;left:0;background-color:#fff;height:36px;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:400;text-align:left;padding:0 10px;margin:0;line-height:36px;font-size:14px;color:var(--el-text-color-primary)}.el-upload-cover+.el-upload__inner{opacity:0;position:relative;z-index:1}.el-progress{position:relative;line-height:1;display:flex;align-items:center}.el-progress__text{font-size:14px;color:var(--el-text-color-regular);margin-left:5px;min-width:50px;line-height:1}.el-progress__text i{vertical-align:middle;display:block}.el-progress--circle,.el-progress--dashboard{display:inline-block}.el-progress--circle .el-progress__text,.el-progress--dashboard .el-progress__text{position:absolute;top:50%;left:0;width:100%;text-align:center;margin:0;transform:translateY(-50%)}.el-progress--circle .el-progress__text i,.el-progress--dashboard .el-progress__text i{vertical-align:middle;display:inline-block}.el-progress--without-text .el-progress__text{display:none}.el-progress--without-text .el-progress-bar{padding-right:0;margin-right:0;display:block}.el-progress--text-inside .el-progress-bar{padding-right:0;margin-right:0}.el-progress.is-success .el-progress-bar__inner{background-color:var(--el-color-success)}.el-progress.is-success .el-progress__text{color:var(--el-color-success)}.el-progress.is-warning .el-progress-bar__inner{background-color:var(--el-color-warning)}.el-progress.is-warning .el-progress__text{color:var(--el-color-warning)}.el-progress.is-exception .el-progress-bar__inner{background-color:var(--el-color-danger)}.el-progress.is-exception .el-progress__text{color:var(--el-color-danger)}.el-progress-bar{flex-grow:1;box-sizing:border-box}.el-progress-bar__outer{height:6px;border-radius:100px;background-color:var(--el-border-color-lighter);overflow:hidden;position:relative;vertical-align:middle}.el-progress-bar__inner{position:absolute;left:0;top:0;height:100%;background-color:var(--el-color-primary);text-align:right;border-radius:100px;line-height:1;white-space:nowrap;transition:width .6s ease}.el-progress-bar__inner:after{display:inline-block;content:"";height:100%;vertical-align:middle}.el-progress-bar__inner--indeterminate{transform:translateZ(0);-webkit-animation:indeterminate 3s infinite;animation:indeterminate 3s infinite}.el-progress-bar__inner--striped{background-image:linear-gradient(45deg,rgba(0,0,0,.1) 25%,transparent 25%,transparent 50%,rgba(0,0,0,.1) 50%,rgba(0,0,0,.1) 75%,transparent 75%,transparent);background-size:1.25em 1.25em}.el-progress-bar__inner--striped.el-progress-bar__inner--striped-flow{-webkit-animation:striped-flow 3s linear infinite;animation:striped-flow 3s linear infinite}.el-progress-bar__innerText{display:inline-block;vertical-align:middle;color:#fff;font-size:12px;margin:0 5px}@-webkit-keyframes progress{0%{background-position:0 0}to{background-position:32px 0}}@keyframes progress{0%{background-position:0 0}to{background-position:32px 0}}@-webkit-keyframes indeterminate{0%{left:-100%}to{left:100%}}@keyframes indeterminate{0%{left:-100%}to{left:100%}}@-webkit-keyframes striped-flow{0%{background-position:-100%}to{background-position:100%}}@keyframes striped-flow{0%{background-position:-100%}to{background-position:100%}}.chat-doc-upload-form{margin-top:24px;border:none}.chat-doc-upload-form .chat-doc-upload-form_inner{position:relative}.chat-doc-upload-form .chat-doc-upload-form_inner .is-drag{height:240px}.chat-doc-upload-form .chat-doc-upload-form_inner .is-drag .el-upload-dragger{width:100%;display:flex;align-items:center;justify-content:center;padding:16px;height:100%;border-radius:8px;transition:all .2s;background:linear-gradient(#fff,#fff) padding-box,repeating-linear-gradient(-45deg,#ccccd8 0,#ccccd8 4px,#fff 0,#fff 7px)}.chat-doc-upload-form .chat-doc-upload-form_inner .chat-doc-upload_empty-file .chat-doc-upload__icon{width:48px;margin-bottom:8px}.chat-doc-upload-form .chat-doc-upload-form_inner .chat-doc-upload_empty-file .chat-doc-upload__text{font-size:14px;font-weight:500;color:#222226;line-height:22px}.chat-doc-upload-form .chat-doc-upload-form_inner .chat-doc-upload_empty-file .chat-doc-upload__text em{color:#277ccc;font-style:normal}.chat-doc-upload-form .chat-doc-upload-form_inner .chat-doc-upload_empty-file .chat-doc-upload__text.disabled{cursor:default}.chat-doc-upload-form .chat-doc-upload-form_inner .chat-doc-upload-file img{width:48px;height:48px}.chat-doc-upload-form .chat-doc-upload-form_inner .chat-doc-upload-file .chat-doc-upload__mtext{font-size:14px;font-weight:500;color:#222226;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;max-width:368px;text-align:center;margin:8px auto 0}.chat-doc-upload-form .chat-doc-upload-form_inner .chat-doc-upload-file .chat-doc-upload__text{margin:4px 0 0;font-size:12px;font-weight:400;color:#999aaa}.chat-doc-upload-form .chat-doc-upload-form_inner .chat-doc-upload-file .chat-doc-upload__text em{color:#277ccc;font-style:normal}.chat-doc-upload-form .chat-doc-upload-form_inner .chat-doc-upload-file .chat-doc-upload__mini-btn{margin:8px auto 0;height:24px;background:#fff;border-radius:12px;border:1px solid #ccccd8;padding:0 10px;font-size:12px;font-family:PingFangSC-Regular,PingFang SC;font-weight:400;color:#222226;line-height:24px;vertical-align:middle;display:flex;align-items:center;width:115px;justify-content:center;box-sizing:border-box;overflow:hidden;transition:all .2s}.chat-doc-upload-form .chat-doc-upload-form_inner .chat-doc-upload-file .chat-doc-upload__mini-btn:hover{border-color:#999aaa;background:#fff;color:#555666}.chat-doc-upload-form .chat-doc-upload_progress{box-sizing:border-box;width:100%;height:56px}.chat-doc-upload-form .chat-doc-upload__tip{margin-top:8px;text-align:center;font-size:12px;font-weight:500;color:#8f90a6}.chat-doc-upload .chat-doc-upload-inner[data-v-5c4534dd]{position:relative}.chat-doc-upload .chat-doc-upload-inner .error-text[data-v-5c4534dd]{position:absolute;bottom:-30px;margin:0;font-size:12px;font-weight:400;color:#fc1944;line-height:20px}.chat-doc-upload .footer-btns .chat-doc-button[data-v-5c4534dd]{height:40px;border-radius:20px;padding:0 24px}.plugin-tabs[data-v-c6fe3788]{display:flex;column-gap:12px;padding-top:11px;box-sizing:border-box;background:#fff}.plugin-tabs.isCards[data-v-c6fe3788]{justify-content:space-between;margin-top:var(--02edde8a);background:none;padding-top:0}.plugin-tab[data-v-c6fe3788]{width:102px;height:34px;box-sizing:border-box;display:flex;justify-content:center;align-items:center;border-radius:8px;font-size:14px;overflow:hidden;color:var(--color-text-desc);cursor:pointer;border:1px solid var(--color-border);margin-bottom:10px;background:#fff}.plugin-tab[data-v-c6fe3788]:hover{color:var(--color-text-active);border:1px solid var(--color-text-active)}.plugin-tab.active[data-v-c6fe3788]{color:var(--color-text-active);border:1px solid var(--color-text-active);pointer-events:none}.plugin-tab svg[data-v-c6fe3788]{width:16px;height:16px;margin-right:6px}.plugin-card[data-v-c6fe3788]{width:166px;height:115px;border-radius:8px;overflow:hidden;padding:18px 12px;box-sizing:border-box;cursor:pointer}.plugin-card[data-v-c6fe3788]:hover,.plugin-card.active[data-v-c6fe3788]{box-shadow:4px 4px 29.8px 3px #877cff66}.plugin-card:hover .card-title[data-v-c6fe3788],.plugin-card:hover .card-desc[data-v-c6fe3788],.plugin-card.active .card-title[data-v-c6fe3788],.plugin-card.active .card-desc[data-v-c6fe3788]{color:#fff}.plugin-card:hover .card-title[data-v-c6fe3788]:before,.plugin-card:hover .card-desc[data-v-c6fe3788]:before,.plugin-card.active .card-title[data-v-c6fe3788]:before,.plugin-card.active .card-desc[data-v-c6fe3788]:before{background:#fff!important}.plugin-card:hover .el-switch[data-v-c6fe3788],.plugin-card:hover .icon-card-right[data-v-c6fe3788],.plugin-card.active .el-switch[data-v-c6fe3788],.plugin-card.active .icon-card-right[data-v-c6fe3788]{opacity:1}.plugin-card:hover.plugin-file[data-v-c6fe3788],.plugin-card.active.plugin-file[data-v-c6fe3788]{background:url(https://cdn-static-devbit.csdn.net/ai100/chat/imgs/icon-plugin-file.svg) right bottom/60px 60px no-repeat,linear-gradient(115.24deg,#bb89fa 2.14%,#635bff 96.77%)}.plugin-card:hover.plugin-link[data-v-c6fe3788],.plugin-card.active.plugin-link[data-v-c6fe3788]{background:url(https://cdn-static-devbit.csdn.net/ai100/chat/imgs/icon-plugin-link.svg) right bottom/60px 60px no-repeat,linear-gradient(115.24deg,#bb89fa 2.14%,#635bff 96.77%)}.plugin-card:hover.plugin-code[data-v-c6fe3788],.plugin-card.active.plugin-code[data-v-c6fe3788]{background:url(https://cdn-static-devbit.csdn.net/ai100/chat/imgs/icon-plugin-code.svg) right bottom/60px 60px no-repeat,linear-gradient(115.24deg,#bb89fa 2.14%,#635bff 96.77%)}.plugin-card:hover.plugin-net[data-v-c6fe3788],.plugin-card.active.plugin-net[data-v-c6fe3788]{background:url(https://cdn-static-devbit.csdn.net/ai100/chat/imgs/icon-plugin-net.svg) right bottom/60px 60px no-repeat,linear-gradient(115.24deg,#bb89fa 2.14%,#635bff 96.77%)}.plugin-card:hover.plugin-mind[data-v-c6fe3788],.plugin-card.active.plugin-mind[data-v-c6fe3788]{background:url(https://cdn-static-devbit.csdn.net/ai100/chat/imgs/icon-plugin-mind.svg) right bottom/60px 60px no-repeat,linear-gradient(115.24deg,#bb89fa 2.14%,#635bff 96.77%)}.plugin-card.plugin-file[data-v-c6fe3788]{background:url(https://cdn-static-devbit.csdn.net/ai100/chat/imgs/icon-plugin-file.svg) right bottom/60px 60px no-repeat,linear-gradient(115deg,#faf4ff 31.52%,#eafaff 96.91%)}.plugin-card.plugin-file .card-desc[data-v-c6fe3788]:before{background:#574ff5}.plugin-card.plugin-link[data-v-c6fe3788]{background:url(https://cdn-static-devbit.csdn.net/ai100/chat/imgs/icon-plugin-link.svg) right bottom/60px 60px no-repeat,linear-gradient(115deg,#faf4ff 31.52%,#eafaff 96.91%)}.plugin-card.plugin-link .card-desc[data-v-c6fe3788]:before{background:#84ffd3}.plugin-card.plugin-code[data-v-c6fe3788]{background:url(https://cdn-static-devbit.csdn.net/ai100/chat/imgs/icon-plugin-code.svg) right bottom/60px 60px no-repeat,linear-gradient(115deg,#faf4ff 31.52%,#eafaff 96.91%)}.plugin-card.plugin-code .card-desc[data-v-c6fe3788]:before{background:#0d9aff}.plugin-card.plugin-net[data-v-c6fe3788]{background:url(https://cdn-static-devbit.csdn.net/ai100/chat/imgs/icon-plugin-net.svg) right bottom/60px 60px no-repeat,linear-gradient(115deg,#faf4ff 31.52%,#eafaff 96.91%)}.plugin-card.plugin-net .card-desc[data-v-c6fe3788]:before{background:#ff845d}.plugin-card.plugin-mind[data-v-c6fe3788]{background:url(https://cdn-static-devbit.csdn.net/ai100/chat/imgs/icon-plugin-mind.svg) right bottom/60px 60px no-repeat,linear-gradient(115deg,#faf4ff 31.52%,#eafaff 96.91%)}.plugin-card.plugin-mind .card-desc[data-v-c6fe3788]:before{background:#0d9aff}.plugin-card .card-title[data-v-c6fe3788]{font-size:16px;font-weight:600;color:var(--color-text-primary)}.plugin-card[data-v-c6fe3788] .el-switch{opacity:0;height:18px}.plugin-card[data-v-c6fe3788] .el-switch .el-switch__core{width:30px}.plugin-card[data-v-c6fe3788] .el-switch .el-switch__core:after{width:12px;height:12px}.plugin-card[data-v-c6fe3788] .el-switch.active{opacity:1}.plugin-card[data-v-c6fe3788] .el-switch.active .el-switch__action{background:#71c140}.plugin-card[data-v-c6fe3788] .el-switch.active .el-switch__core:after{background:none}.plugin-card .icon-card-right[data-v-c6fe3788]{opacity:0}.plugin-card .card-desc[data-v-c6fe3788]{margin-top:6px;font-size:12px;font-weight:400;color:var(--color-text-desc);padding-left:8px;position:relative;text-align:left;white-space:nowrap}.plugin-card .card-desc[data-v-c6fe3788]:before{content:"";width:4px;height:4px;background:#8b8b8b;border-radius:50%;position:absolute;left:0;top:50%;transform:translateY(-50%)}.directive-card[data-v-f4917e76]{width:334px;height:108px;border-radius:8px;border:1px solid #f2f2f5;padding:24px;box-sizing:border-box;position:relative;overflow:hidden}.directive-card:hover .mask[data-v-f4917e76]{opacity:1}.directive-card .mask[data-v-f4917e76]{position:absolute;top:0;left:0;width:100%;height:100%;background:#0000004d;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;flex-direction:column;justify-content:center;align-items:center;opacity:0;transition:opacity .3s;color:#fff;font-size:12px;row-gap:8px;font-weight:500;z-index:9;white-space:nowrap}.directive-card .mask .use-button[data-v-f4917e76]{width:96px;height:36px;line-height:36px;color:#fff;text-align:center;background:#6d5ffd;border-radius:20px;cursor:pointer}.directive-card .mask .use-button.vip[data-v-f4917e76]{background:linear-gradient(140.62deg,#e2b1ff 5.23%,#6e60fd 97.15%)}.directive-card .directive-star[data-v-f4917e76]{width:32px;height:32px;position:absolute;top:0;right:0;z-index:8;background:url("data:image/svg+xml,%3csvg%20width='32'%20height='32'%20viewBox='0%200%2032%2032'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20filter='url(%23filter0_d_2858_1943)'%3e%3cpath%20d='M10.19%2011.64L11.58%2010.83L14.32%209.25L14.45%209.17C15.33%208.66%2016.67%208.66%2017.55%209.17L17.68%209.25L20.42%2010.83L21.81%2011.63V9.49C21.81%207.24%2020.57%206%2018.32%206H13.67C11.42%206%2010.19%207.24%2010.19%209.49V11.64Z'%20fill='url(%23paint0_linear_2858_1943)'/%3e%3cpath%20d='M9.69%2011.64V12.5101L10.4417%2012.072L11.8298%2011.2631L11.8317%2011.262L14.5698%209.68315L14.576%209.67958L14.5821%209.67583L14.7061%209.5995C15.0551%209.39883%2015.5175%209.2875%2016%209.2875C16.4825%209.2875%2016.9449%209.39883%2017.2939%209.5995L17.418%209.67583L17.424%209.67958L17.4302%209.68315L20.1702%2011.2631L20.1706%2011.2634L21.5606%2012.0634L22.31%2012.4947V11.63V9.49C22.31%208.27557%2021.974%207.25937%2021.2623%206.5477C20.5506%205.83602%2019.5344%205.5%2018.32%205.5H13.67C12.4555%205.5%2011.4413%205.83607%2010.732%206.54845C10.0229%207.26049%209.69%208.27664%209.69%209.49V11.64Z'%20stroke='%23F6E7FF'/%3e%3c/g%3e%3cg%20filter='url(%23filter1_d_2858_1943)'%3e%3cpath%20d='M21.95%2011.71L21.81%2011.63L20.42%2010.83L17.55%209.16998C16.67%208.65998%2015.33%208.65998%2014.45%209.16998L11.58%2010.83L10.19%2011.64L10.01%2011.74C8.22%2012.94%208.1%2013.16%208.1%2015.09V19.7C8.1%2021.63%208.22%2021.85%2010.05%2023.08L14.45%2025.62C14.89%2025.88%2015.44%2026%2016%2026C16.55%2026%2017.11%2025.88%2017.55%2025.62L21.99%2023.05C23.78%2021.85%2023.9%2021.63%2023.9%2019.7V15.09C23.9%2013.16%2023.78%2012.94%2021.95%2011.71Z'%20fill='url(%23paint1_linear_2858_1943)'/%3e%3cpath%20d='M22.2289%2011.295L22.2138%2011.2849L22.1981%2011.2759L22.0594%2011.1966L22.0581%2011.1959L20.6703%2010.3972L20.6694%2010.3966L17.8007%208.73737C17.8006%208.73732%2017.8005%208.73727%2017.8005%208.73722C17.8004%208.7372%2017.8004%208.73718%2017.8003%208.73716C17.27%208.42993%2016.6249%208.28748%2016%208.28748C15.3751%208.28748%2014.73%208.42993%2014.1997%208.73716C14.1996%208.73717%2014.1996%208.73719%2014.1996%208.73721C14.1995%208.73726%2014.1994%208.73732%2014.1993%208.73737L11.3297%2010.3972L11.3297%2010.3972L11.3283%2010.398L9.9427%2011.2054L9.76718%2011.3029L9.74892%2011.313L9.73158%2011.3247C8.86327%2011.9068%208.27244%2012.3255%207.9491%2012.8941C7.61871%2013.4751%207.6%2014.1528%207.6%2015.09V19.7C7.6%2020.6375%207.61861%2021.3162%207.9553%2021.9017C8.28341%2022.4724%208.88314%2022.8981%209.77108%2023.495L9.78524%2023.5045L9.80002%2023.513L14.1956%2026.0504C14.1964%2026.0509%2014.1971%2026.0513%2014.1979%2026.0518C14.733%2026.3673%2015.3757%2026.5%2016%2026.5C16.6136%2026.5%2017.2667%2026.3676%2017.8024%2026.0516C17.803%2026.0512%2017.8037%2026.0508%2017.8044%2026.0504L22.2405%2023.4827L22.2547%2023.4745L22.2684%2023.4653C23.1367%2022.8832%2023.7276%2022.4645%2024.0509%2021.8959C24.3813%2021.3148%2024.4%2020.6372%2024.4%2019.7V15.09C24.4%2014.1524%2024.3814%2013.4738%2024.0447%2012.8882C23.7166%2012.3176%2023.1169%2011.8918%2022.2289%2011.295Z'%20stroke='%23F6E7FF'/%3e%3c/g%3e%3cpath%20d='M18.84%2017.34L18.22%2018.1C18.12%2018.21%2018.05%2018.43%2018.06%2018.58L18.12%2019.56C18.16%2020.16%2017.73%2020.47%2017.17%2020.25L16.26%2019.89C16.12%2019.84%2015.88%2019.84%2015.74%2019.89L14.83%2020.25C14.27%2020.47%2013.84%2020.16%2013.88%2019.56L13.94%2018.58C13.95%2018.43%2013.88%2018.21%2013.78%2018.1L13.16%2017.34C12.77%2016.88%2012.94%2016.37%2013.52%2016.22L14.47%2015.98C14.62%2015.94%2014.8%2015.8%2014.88%2015.67L15.41%2014.85C15.74%2014.34%2016.26%2014.34%2016.59%2014.85L17.12%2015.67C17.2%2015.8%2017.38%2015.94%2017.53%2015.98L18.48%2016.22C19.06%2016.37%2019.23%2016.88%2018.84%2017.34Z'%20fill='white'/%3e%3cdefs%3e%3cfilter%20id='filter0_d_2858_1943'%20x='7.19'%20y='5'%20width='17.62'%20height='12.3801'%20filterUnits='userSpaceOnUse'%20color-interpolation-filters='sRGB'%3e%3cfeFlood%20flood-opacity='0'%20result='BackgroundImageFix'/%3e%3cfeColorMatrix%20in='SourceAlpha'%20type='matrix'%20values='0%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%20127%200'%20result='hardAlpha'/%3e%3cfeOffset%20dy='2'/%3e%3cfeGaussianBlur%20stdDeviation='1'/%3e%3cfeComposite%20in2='hardAlpha'%20operator='out'/%3e%3cfeColorMatrix%20type='matrix'%20values='0%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200.1%200'/%3e%3cfeBlend%20mode='normal'%20in2='BackgroundImageFix'%20result='effect1_dropShadow_2858_1943'/%3e%3cfeBlend%20mode='normal'%20in='SourceGraphic'%20in2='effect1_dropShadow_2858_1943'%20result='shape'/%3e%3c/filter%3e%3cfilter%20id='filter1_d_2858_1943'%20x='5.1'%20y='7.78748'%20width='21.8'%20height='23.2125'%20filterUnits='userSpaceOnUse'%20color-interpolation-filters='sRGB'%3e%3cfeFlood%20flood-opacity='0'%20result='BackgroundImageFix'/%3e%3cfeColorMatrix%20in='SourceAlpha'%20type='matrix'%20values='0%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%20127%200'%20result='hardAlpha'/%3e%3cfeOffset%20dy='2'/%3e%3cfeGaussianBlur%20stdDeviation='1'/%3e%3cfeComposite%20in2='hardAlpha'%20operator='out'/%3e%3cfeColorMatrix%20type='matrix'%20values='0%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200.1%200'/%3e%3cfeBlend%20mode='normal'%20in2='BackgroundImageFix'%20result='effect1_dropShadow_2858_1943'/%3e%3cfeBlend%20mode='normal'%20in='SourceGraphic'%20in2='effect1_dropShadow_2858_1943'%20result='shape'/%3e%3c/filter%3e%3clinearGradient%20id='paint0_linear_2858_1943'%20x1='5.72788'%20y1='8.31488'%20x2='8.97394'%20y2='16.462'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%23E2B1FF'/%3e%3cstop%20offset='1'%20stop-color='%236E60FD'/%3e%3c/linearGradient%3e%3clinearGradient%20id='paint1_linear_2858_1943'%20x1='2.03274'%20y1='15.8522'%20x2='16.3487'%20y2='31.8609'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%23E2B1FF'/%3e%3cstop%20offset='1'%20stop-color='%236E60FD'/%3e%3c/linearGradient%3e%3c/defs%3e%3c/svg%3e") center/cover no-repeat}.directive-card .directive-title[data-v-f4917e76]{font-weight:600;font-size:16px;height:22px;line-height:22px;color:var(--color-text-primary);display:flex;align-items:center;column-gap:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.directive-card .directive-desc[data-v-f4917e76]{display:-webkit-box;-webkit-line-clamp:2;overflow:hidden;text-overflow:ellipsis;-webkit-box-orient:vertical;margin:8px 0 0;color:var(--color-text-desc);font-size:12px}@media screen and (min-width: 769px){.scroll-bar-style[data-v-d9a18ae5]:hover::-webkit-scrollbar-thumb,.directive-input .directive-input-content[data-v-d9a18ae5]:hover::-webkit-scrollbar-thumb,.directive-input[data-v-d9a18ae5]:hover::-webkit-scrollbar-thumb{box-shadow:inset 0 0 5px #0000001a;background:#f7f7fc}.scroll-bar-style[data-v-d9a18ae5]::-webkit-scrollbar,.directive-input .directive-input-content[data-v-d9a18ae5]::-webkit-scrollbar,.directive-input[data-v-d9a18ae5]::-webkit-scrollbar{width:5px;height:5px}.scroll-bar-style[data-v-d9a18ae5]::-webkit-scrollbar-thumb,.directive-input .directive-input-content[data-v-d9a18ae5]::-webkit-scrollbar-thumb,.directive-input[data-v-d9a18ae5]::-webkit-scrollbar-thumb{border-radius:10px;box-shadow:inset 0 0 5px #0000;background:#0000}.scroll-bar-style[data-v-d9a18ae5]::-webkit-scrollbar-track,.directive-input .directive-input-content[data-v-d9a18ae5]::-webkit-scrollbar-track,.directive-input[data-v-d9a18ae5]::-webkit-scrollbar-track{border-radius:10px;background:#0000}}.ske[data-v-d9a18ae5]{display:flex;gap:16px;height:258px}.ske .ske-item[data-v-d9a18ae5]{flex:1;height:100%}.ske-2[data-v-d9a18ae5]{display:grid;grid-template-columns:repeat(3,33.33%);grid-template-rows:repeat(3,33.33%);grid-row-gap:15px;grid-column-gap:15px}.ske-2 .ske-2-item[data-v-d9a18ae5]{height:108px}.directive-input[data-v-d9a18ae5]{overflow:hidden;background:#fff;position:relative;z-index:2;border-radius:var(--0b01d126)}.directive-input[data-v-d9a18ae5]:after{content:"";position:absolute;width:calc(100% - 20px);height:32px;bottom:0;left:0;background:red;margin:0 10px;border-bottom:1px solid #f2f2f5;background:linear-gradient(to bottom,#fff0,#fff)}.directive-input .directive-input-content[data-v-d9a18ae5]{position:relative;margin:0 auto;overflow-x:hidden;overflow-y:auto;height:var(--3fbe2dfa);padding:10px 4px 10px 8px;box-sizing:border-box}.directive-input .directive-input-content .roles[data-v-d9a18ae5]{height:306px}.directive-input .directive-input-content .roles:hover .arrow[data-v-d9a18ae5]{opacity:1}.directive-input .directive-input-content .roles+.title[data-v-d9a18ae5]{margin-top:24px}.directive-input .title[data-v-d9a18ae5]{font-size:16px;font-weight:600;height:40px;line-height:40px;color:var(--color-text-primary);margin-bottom:8px;padding-left:12px;box-sizing:border-box}.directive-input .arrow[data-v-d9a18ae5]{position:absolute;top:182px;z-index:99;width:32px;height:32px;cursor:pointer;color:#f2f2f5;opacity:0;transition:opacity .3s}.directive-input .arrow.l[data-v-d9a18ae5]{left:8px}.directive-input .arrow.r[data-v-d9a18ae5]{right:8px}.directive-input .arrow.disabled[data-v-d9a18ae5]{cursor:not-allowed;color:#f2f2f566}.directive-input .scroll-wrapper[data-v-d9a18ae5]{width:100%;overflow:hidden;position:relative}.directive-input .role-list[data-v-d9a18ae5]{display:flex;justify-content:space-between;width:max-content;column-gap:16px}.directive-input .directive-list[data-v-d9a18ae5]{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-start}.directive-input .directive-list .directive-card[data-v-d9a18ae5]{width:calc((100% - 12px) / 3);padding:10px;height:unset}.input-optimize[data-v-422c47d2]{background:#fff;position:absolute;bottom:10px;right:62px;z-index:2;box-sizing:border-box;display:flex;border-radius:0;justify-content:space-between}.input-optimize .footer-tools[data-v-422c47d2]{display:flex;align-items:center}.input-optimize .footer-tab[data-v-422c47d2]:hover,.input-optimize .footer-tab.active[data-v-422c47d2]{background:#6d5ffd1a;color:#6d5ffd}.input-optimize .footer-tab.active[data-v-422c47d2]{pointer-events:none}.input-optimize .footer-tab svg[data-v-422c47d2]{width:20px;height:20px;outline:none}.input-optimize .footer-btn[data-v-422c47d2]{padding:0 14px;height:28px;box-sizing:border-box;display:flex;justify-content:center;align-items:center;border-radius:8px;overflow:hidden;background:#f3f0fe;column-gap:4px;color:var(--color-text-active);cursor:pointer}.input-optimize .footer-btn img[data-v-422c47d2]{width:20px}.input-optimize .footer-btn svg[data-v-422c47d2]{width:18px;height:18px}.input-optimize .footer-btn .arrow-left[data-v-422c47d2]{transform:translateY(4px)}.deepseek-label[data-v-bf913223]{width:max-content;height:39px;border:1px solid #bfbfbf;border-radius:8px;display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--color-text-primary);padding:0 12px;background:#fff;cursor:pointer;-webkit-user-select:none;user-select:none}.deepseek-label.active .r1-dot[data-v-bf913223]{background:#71c140}.deepseek-label .r1-dot[data-v-bf913223]{width:6px;height:6px;border-radius:50%;background:#e5e5e5;margin-right:8px}.deepseek-label .r1-info[data-v-bf913223]{display:flex;align-items:flex-start;justify-content:space-between;flex-direction:column;margin-right:8px}.deepseek-label .r1-info span[data-v-bf913223]{text-align:left}.deepseek-label .r1-info span.tit[data-v-bf913223]{color:#1a1a1a;font-size:12px;font-weight:400;letter-spacing:-.3px}.deepseek-label .r1-info span.desc[data-v-bf913223]{color:#666;font-size:10px;font-weight:400;letter-spacing:-.3px}.deepseek-label[data-v-bf913223] .el-switch .el-switch__core{border:none;height:12px;min-width:24px;width:24px}.deepseek-label[data-v-bf913223] .el-switch .el-switch__core .el-switch__action{width:10px;height:10px}.deepseek-label[data-v-bf913223] .el-switch .el-switch__core:after{display:none!important}.deepseek-label[data-v-bf913223] .el-switch.is-checked .el-switch__core .el-switch__action{left:calc(100% - 11px)}@media screen and (min-width: 769px){.scroll-bar-style[data-v-07e5caf3]:hover::-webkit-scrollbar-thumb,.input-bar .input-text[data-v-07e5caf3] .textarea textarea:hover::-webkit-scrollbar-thumb{box-shadow:inset 0 0 5px #0000001a;background:#f7f7fc}.scroll-bar-style[data-v-07e5caf3]::-webkit-scrollbar,.input-bar .input-text[data-v-07e5caf3] .textarea textarea::-webkit-scrollbar{width:5px;height:5px}.scroll-bar-style[data-v-07e5caf3]::-webkit-scrollbar-thumb,.input-bar .input-text[data-v-07e5caf3] .textarea textarea::-webkit-scrollbar-thumb{border-radius:10px;box-shadow:inset 0 0 5px #0000;background:#0000}.scroll-bar-style[data-v-07e5caf3]::-webkit-scrollbar-track,.input-bar .input-text[data-v-07e5caf3] .textarea textarea::-webkit-scrollbar-track{border-radius:10px;background:#0000}}@keyframes border-animate-07e5caf3{0%,10%{background:linear-gradient(to bottom right,#6794f5,#9003ff)}15%{background:linear-gradient(to bottom,#6794f5,#9003ff)}20%{background:linear-gradient(to bottom left,#6794f5,#9003ff)}30%{background:linear-gradient(to left,#6794f5,#9003ff)}40%{background:linear-gradient(to left top,#6794f5,#9003ff)}50%{background:linear-gradient(to left top,#6794f5,#9003ff)}60%{background:linear-gradient(to left top,#6794f5,#9003ff)}70%{background:linear-gradient(to left,#6794f5,#9003ff)}80%{background:linear-gradient(to bottom left,#6794f5,#9003ff)}85%{background:linear-gradient(to bottom,#6794f5,#9003ff)}90%,to{background:linear-gradient(to bottom right,#6794f5,#9003ff)}}.input-bar[data-v-07e5caf3]{position:relative;margin:-58px auto 0;width:100%;z-index:99}.input-bar .deepseek-switch-container[data-v-07e5caf3]{margin-bottom:8px}.input-bar .chat-input-main[data-v-07e5caf3]{position:relative;border:1px solid var(--color-input-border);background:var(--6c34e38c);border-radius:16px;overflow:hidden;z-index:99}.input-bar .chat-input-main[data-v-07e5caf3]:hover{box-shadow:0 4px 12px #a09cc733}.input-bar .chat-input-main[data-v-07e5caf3]:before{display:block;content:" ";position:absolute;top:-38px;left:-1px;right:-1px;height:38px;pointer-events:none;background:linear-gradient(0deg,#fffc,#fff3 60%,#fff0)}.input-bar .input-text[data-v-07e5caf3]{display:flex;flex-direction:column;border-radius:0 0 16px 16px;overflow:hidden;position:relative}.input-bar .input-text .input-right[data-v-07e5caf3]{z-index:2;flex:1;background-color:#fff;border-radius:0;position:relative}.input-bar .input-text .chat-doc_upload-button-pro+.input-right[data-v-07e5caf3]{border-radius:0 12px 12px 0}.input-bar .input-text .chat-doc_upload-button-pro+.input-right[data-v-07e5caf3] textarea{border-radius:0}.input-bar .input-text[data-v-07e5caf3] .textarea{border-radius:var(--05058d38);overflow:hidden;flex:1;background:#fff;z-index:2;display:flex;flex-direction:column;padding-right:40px}.input-bar .input-text[data-v-07e5caf3] .textarea textarea{padding:10px 8px 10px 10px;position:relative;background-color:transparent;box-shadow:none;border:none;resize:none;line-height:28px}.input-bar .input-text[data-v-07e5caf3] .textarea.is-disabled ::v-deep(textarea){background-color:var(--el-disabled-bg-color)}.input-bar .input-text .icon-input-open[data-v-07e5caf3]{position:absolute;top:10px;right:10px;z-index:3;width:20px;cursor:pointer}.el-button-group{display:inline-block;vertical-align:middle}.el-button-group:after,.el-button-group:before{display:table;content:""}.el-button-group:after{clear:both}.el-button-group>.el-button{float:left;position:relative}.el-button-group>.el-button+.el-button{margin-left:0}.el-button-group>.el-button:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.el-button-group>.el-button:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.el-button-group>.el-button:first-child:last-child{border-top-right-radius:var(--el-border-radius-base);border-bottom-right-radius:var(--el-border-radius-base);border-top-left-radius:var(--el-border-radius-base);border-bottom-left-radius:var(--el-border-radius-base)}.el-button-group>.el-button:first-child:last-child.is-round{border-radius:var(--el-border-radius-round)}.el-button-group>.el-button:first-child:last-child.is-circle{border-radius:50%}.el-button-group>.el-button:not(:first-child):not(:last-child){border-radius:0}.el-button-group>.el-button:not(:last-child){margin-right:-1px}.el-button-group>.el-button:active,.el-button-group>.el-button:focus,.el-button-group>.el-button:hover{z-index:1}.el-button-group>.el-button.is-active{z-index:1}.el-button-group>.el-dropdown>.el-button{border-top-left-radius:0;border-bottom-left-radius:0;border-left-color:var(--el-button-divide-border-color)}.el-button-group .el-button--primary:first-child{border-right-color:var(--el-button-divide-border-color)}.el-button-group .el-button--primary:last-child{border-left-color:var(--el-button-divide-border-color)}.el-button-group .el-button--primary:not(:first-child):not(:last-child){border-left-color:var(--el-button-divide-border-color);border-right-color:var(--el-button-divide-border-color)}.el-button-group .el-button--success:first-child{border-right-color:var(--el-button-divide-border-color)}.el-button-group .el-button--success:last-child{border-left-color:var(--el-button-divide-border-color)}.el-button-group .el-button--success:not(:first-child):not(:last-child){border-left-color:var(--el-button-divide-border-color);border-right-color:var(--el-button-divide-border-color)}.el-button-group .el-button--warning:first-child{border-right-color:var(--el-button-divide-border-color)}.el-button-group .el-button--warning:last-child{border-left-color:var(--el-button-divide-border-color)}.el-button-group .el-button--warning:not(:first-child):not(:last-child){border-left-color:var(--el-button-divide-border-color);border-right-color:var(--el-button-divide-border-color)}.el-button-group .el-button--danger:first-child{border-right-color:var(--el-button-divide-border-color)}.el-button-group .el-button--danger:last-child{border-left-color:var(--el-button-divide-border-color)}.el-button-group .el-button--danger:not(:first-child):not(:last-child){border-left-color:var(--el-button-divide-border-color);border-right-color:var(--el-button-divide-border-color)}.el-button-group .el-button--info:first-child{border-right-color:var(--el-button-divide-border-color)}.el-button-group .el-button--info:last-child{border-left-color:var(--el-button-divide-border-color)}.el-button-group .el-button--info:not(:first-child):not(:last-child){border-left-color:var(--el-button-divide-border-color);border-right-color:var(--el-button-divide-border-color)}.el-dropdown{--el-dropdown-menu-box-shadow:var(--el-box-shadow-light);--el-dropdown-menuItem-hover-fill:var(--el-color-primary-light-9);--el-dropdown-menuItem-hover-color:var(--el-color-primary);--el-dropdown-menu-index:10;display:inline-flex;position:relative;color:var(--el-text-color-regular);font-size:var(--el-font-size-base);line-height:1;vertical-align:top}.el-dropdown.is-disabled{color:var(--el-text-color-placeholder);cursor:not-allowed}.el-dropdown__popper{--el-dropdown-menu-box-shadow:var(--el-box-shadow-light);--el-dropdown-menuItem-hover-fill:var(--el-color-primary-light-9);--el-dropdown-menuItem-hover-color:var(--el-color-primary);--el-dropdown-menu-index:10}.el-dropdown__popper.el-popper{background:var(--el-bg-color-overlay);border:1px solid var(--el-border-color-light);box-shadow:var(--el-dropdown-menu-box-shadow)}.el-dropdown__popper.el-popper .el-popper__arrow:before{border:1px solid var(--el-border-color-light)}.el-dropdown__popper.el-popper[data-popper-placement^=top] .el-popper__arrow:before{border-top-color:transparent;border-left-color:transparent}.el-dropdown__popper.el-popper[data-popper-placement^=bottom] .el-popper__arrow:before{border-bottom-color:transparent;border-right-color:transparent}.el-dropdown__popper.el-popper[data-popper-placement^=left] .el-popper__arrow:before{border-left-color:transparent;border-bottom-color:transparent}.el-dropdown__popper.el-popper[data-popper-placement^=right] .el-popper__arrow:before{border-right-color:transparent;border-top-color:transparent}.el-dropdown__popper .el-dropdown-menu{border:none}.el-dropdown__popper .el-dropdown__popper-selfdefine{outline:0}.el-dropdown__popper .el-scrollbar__bar{z-index:calc(var(--el-dropdown-menu-index) + 1)}.el-dropdown__popper .el-dropdown__list{list-style:none;padding:0;margin:0;box-sizing:border-box}.el-dropdown .el-dropdown__caret-button{padding-left:0;padding-right:0;display:inline-flex;justify-content:center;align-items:center;width:32px;border-left:none}.el-dropdown .el-dropdown__caret-button>span{display:inline-flex}.el-dropdown .el-dropdown__caret-button:before{content:"";position:absolute;display:block;width:1px;top:-1px;bottom:-1px;left:0;background:var(--el-overlay-color-lighter)}.el-dropdown .el-dropdown__caret-button.el-button:before{background:var(--el-border-color);opacity:.5}.el-dropdown .el-dropdown__caret-button .el-dropdown__icon{font-size:inherit;padding-left:0}.el-dropdown .el-dropdown-selfdefine{outline:0}.el-dropdown--large .el-dropdown__caret-button{width:40px}.el-dropdown--small .el-dropdown__caret-button{width:24px}.el-dropdown-menu{position:relative;top:0;left:0;z-index:var(--el-dropdown-menu-index);padding:5px 0;margin:0;background-color:var(--el-bg-color-overlay);border:none;border-radius:var(--el-border-radius-base);box-shadow:none;list-style:none}.el-dropdown-menu__item{display:flex;align-items:center;white-space:nowrap;list-style:none;line-height:22px;padding:5px 16px;margin:0;font-size:var(--el-font-size-base);color:var(--el-text-color-regular);cursor:pointer;outline:0}.el-dropdown-menu__item:not(.is-disabled):focus{background-color:var(--el-dropdown-menuItem-hover-fill);color:var(--el-dropdown-menuItem-hover-color)}.el-dropdown-menu__item i{margin-right:5px}.el-dropdown-menu__item--divided{margin:6px 0;border-top:1px solid var(--el-border-color-lighter)}.el-dropdown-menu__item.is-disabled{cursor:not-allowed;color:var(--el-text-color-disabled)}.el-dropdown-menu--large{padding:7px 0}.el-dropdown-menu--large .el-dropdown-menu__item{padding:7px 20px;line-height:22px;font-size:14px}.el-dropdown-menu--large .el-dropdown-menu__item--divided{margin:8px 0}.el-dropdown-menu--small{padding:3px 0}.el-dropdown-menu--small .el-dropdown-menu__item{padding:2px 12px;line-height:20px;font-size:12px}.el-dropdown-menu--small .el-dropdown-menu__item--divided{margin:4px 0}.el-slider{--el-slider-main-bg-color:var(--el-color-primary);--el-slider-runway-bg-color:var(--el-border-color-light);--el-slider-stop-bg-color:var(--el-color-white);--el-slider-disabled-color:var(--el-text-color-placeholder);--el-slider-border-radius:3px;--el-slider-height:6px;--el-slider-button-size:20px;--el-slider-button-wrapper-size:36px;--el-slider-button-wrapper-offset:-15px}.el-slider{width:100%;height:32px;display:flex;align-items:center}.el-slider__runway{flex:1;height:var(--el-slider-height);background-color:var(--el-slider-runway-bg-color);border-radius:var(--el-slider-border-radius);position:relative;cursor:pointer}.el-slider__runway.show-input{margin-right:30px;width:auto}.el-slider__runway.is-disabled{cursor:default}.el-slider__runway.is-disabled .el-slider__bar{background-color:var(--el-slider-disabled-color)}.el-slider__runway.is-disabled .el-slider__button{border-color:var(--el-slider-disabled-color)}.el-slider__runway.is-disabled .el-slider__button-wrapper.hover,.el-slider__runway.is-disabled .el-slider__button-wrapper:hover,.el-slider__runway.is-disabled .el-slider__button-wrapper.dragging{cursor:not-allowed}.el-slider__runway.is-disabled .el-slider__button.dragging,.el-slider__runway.is-disabled .el-slider__button.hover,.el-slider__runway.is-disabled .el-slider__button:hover{transform:scale(1)}.el-slider__runway.is-disabled .el-slider__button.hover,.el-slider__runway.is-disabled .el-slider__button:hover,.el-slider__runway.is-disabled .el-slider__button.dragging{cursor:not-allowed}.el-slider__input{flex-shrink:0;width:130px}.el-slider__bar{height:var(--el-slider-height);background-color:var(--el-slider-main-bg-color);border-top-left-radius:var(--el-slider-border-radius);border-bottom-left-radius:var(--el-slider-border-radius);position:absolute}.el-slider__button-wrapper{height:var(--el-slider-button-wrapper-size);width:var(--el-slider-button-wrapper-size);position:absolute;z-index:1;top:var(--el-slider-button-wrapper-offset);transform:translate(-50%);background-color:transparent;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;line-height:normal;outline:0}.el-slider__button-wrapper:after{display:inline-block;content:"";height:100%;vertical-align:middle}.el-slider__button-wrapper.hover,.el-slider__button-wrapper:hover{cursor:-webkit-grab;cursor:grab}.el-slider__button-wrapper.dragging{cursor:-webkit-grabbing;cursor:grabbing}.el-slider__button{display:inline-block;width:var(--el-slider-button-size);height:var(--el-slider-button-size);vertical-align:middle;border:solid 2px var(--el-slider-main-bg-color);background-color:var(--el-color-white);border-radius:50%;box-sizing:border-box;transition:var(--el-transition-duration-fast);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.el-slider__button.dragging,.el-slider__button.hover,.el-slider__button:hover{transform:scale(1.2)}.el-slider__button.hover,.el-slider__button:hover{cursor:-webkit-grab;cursor:grab}.el-slider__button.dragging{cursor:-webkit-grabbing;cursor:grabbing}.el-slider__stop{position:absolute;height:var(--el-slider-height);width:var(--el-slider-height);border-radius:var(--el-border-radius-circle);background-color:var(--el-slider-stop-bg-color);transform:translate(-50%)}.el-slider__marks{top:0;left:12px;width:18px;height:100%}.el-slider__marks-text{position:absolute;transform:translate(-50%);font-size:14px;color:var(--el-color-info);margin-top:15px;white-space:pre}.el-slider.is-vertical{position:relative;display:inline-flex;width:auto;height:100%;flex:0}.el-slider.is-vertical .el-slider__runway{width:var(--el-slider-height);height:100%;margin:0 16px}.el-slider.is-vertical .el-slider__bar{width:var(--el-slider-height);height:auto;border-radius:0 0 3px 3px}.el-slider.is-vertical .el-slider__button-wrapper{top:auto;left:var(--el-slider-button-wrapper-offset);transform:translateY(50%)}.el-slider.is-vertical .el-slider__stop{transform:translateY(50%)}.el-slider.is-vertical .el-slider__marks-text{margin-top:0;left:15px;transform:translateY(50%)}.el-slider--large{height:40px}.el-slider--small{height:24px}.el-input-number{position:relative;display:inline-flex;width:150px;line-height:30px}.el-input-number .el-input__wrapper{padding-left:42px;padding-right:42px}.el-input-number .el-input__inner{-webkit-appearance:none;-moz-appearance:textfield;text-align:center;line-height:1}.el-input-number .el-input__inner::-webkit-inner-spin-button,.el-input-number .el-input__inner::-webkit-outer-spin-button{margin:0;-webkit-appearance:none}.el-input-number__decrease,.el-input-number__increase{display:flex;justify-content:center;align-items:center;height:auto;position:absolute;z-index:1;top:1px;bottom:1px;width:32px;background:var(--el-fill-color-light);color:var(--el-text-color-regular);cursor:pointer;font-size:13px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.el-input-number__decrease:hover,.el-input-number__increase:hover{color:var(--el-color-primary)}.el-input-number__decrease:hover~.el-input:not(.is-disabled) .el-input__wrapper,.el-input-number__increase:hover~.el-input:not(.is-disabled) .el-input__wrapper{box-shadow:0 0 0 1px var(--el-input-focus-border-color,var(--el-color-primary)) inset}.el-input-number__decrease.is-disabled,.el-input-number__increase.is-disabled{color:var(--el-disabled-text-color);cursor:not-allowed}.el-input-number__increase{right:1px;border-radius:0 var(--el-border-radius-base) var(--el-border-radius-base) 0;border-left:var(--el-border)}.el-input-number__decrease{left:1px;border-radius:var(--el-border-radius-base) 0 0 var(--el-border-radius-base);border-right:var(--el-border)}.el-input-number.is-disabled .el-input-number__decrease,.el-input-number.is-disabled .el-input-number__increase{border-color:var(--el-disabled-border-color);color:var(--el-disabled-border-color)}.el-input-number.is-disabled .el-input-number__decrease:hover,.el-input-number.is-disabled .el-input-number__increase:hover{color:var(--el-disabled-border-color);cursor:not-allowed}.el-input-number--large{width:180px;line-height:38px}.el-input-number--large .el-input-number__decrease,.el-input-number--large .el-input-number__increase{width:40px;font-size:14px}.el-input-number--large .el-input__wrapper{padding-left:47px;padding-right:47px}.el-input-number--small{width:120px;line-height:22px}.el-input-number--small .el-input-number__decrease,.el-input-number--small .el-input-number__increase{width:24px;font-size:12px}.el-input-number--small .el-input__wrapper{padding-left:31px;padding-right:31px}.el-input-number--small .el-input-number__decrease [class*=el-icon],.el-input-number--small .el-input-number__increase [class*=el-icon]{transform:scale(.9)}.el-input-number.is-without-controls .el-input__wrapper{padding-left:15px;padding-right:15px}.el-input-number.is-controls-right .el-input__wrapper{padding-left:15px;padding-right:42px}.el-input-number.is-controls-right .el-input-number__decrease,.el-input-number.is-controls-right .el-input-number__increase{--el-input-number-controls-height:15px;height:var(--el-input-number-controls-height);line-height:var(--el-input-number-controls-height)}.el-input-number.is-controls-right .el-input-number__decrease [class*=el-icon],.el-input-number.is-controls-right .el-input-number__increase [class*=el-icon]{transform:scale(.8)}.el-input-number.is-controls-right .el-input-number__increase{bottom:auto;left:auto;border-radius:0 var(--el-border-radius-base) 0 0;border-bottom:var(--el-border)}.el-input-number.is-controls-right .el-input-number__decrease{right:1px;top:auto;left:auto;border-right:none;border-left:var(--el-border);border-radius:0 0 var(--el-border-radius-base) 0}.el-input-number.is-controls-right[class*=large] [class*=decrease],.el-input-number.is-controls-right[class*=large] [class*=increase]{--el-input-number-controls-height:19px}.el-input-number.is-controls-right[class*=small] [class*=decrease],.el-input-number.is-controls-right[class*=small] [class*=increase]{--el-input-number-controls-height:11px}.chat-settings-list-pro{height:100%;box-sizing:border-box;padding-top:8px}.chat-settings-list-pro .chat-setting-item{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.chat-settings-list-pro .chat-setting-item:last-child{margin-bottom:0}.chat-settings-list-pro .chat-setting-item .label{width:80px;height:22px;display:flex;align-items:center;column-gap:4px}.chat-settings-list-pro .chat-setting-item .label span{color:#222226;font-size:12px;font-weight:500}.chat-settings-list-pro .chat-setting-item .el-select,.chat-settings-list-pro .chat-setting-item .el-slider{width:160px;height:22px;padding-right:8px;box-sizing:border-box}.chat-settings-list-pro .chat-setting-item .el-select .el-slider__bar,.chat-settings-list-pro .chat-setting-item .el-slider .el-slider__bar{background:#6d5ffd}.chat-settings-list-pro .chat-setting-item .el-select .el-slider__button,.chat-settings-list-pro .chat-setting-item .el-slider .el-slider__button{width:10px;height:10px;border:1px solid #6d5ffd}.chat-settings-list-pro .chat-setting-item .el-icon{color:#999aaa;vertical-align:-2px}.model-menu[data-v-7fd256e5]{padding:20px 10px}.model[data-v-7fd256e5]{display:flex;align-items:center;background-color:#fff;z-index:999}.model.active .c-icon[data-v-7fd256e5]{fill:#6b5}.model .model-icon[data-v-7fd256e5]{width:32px;height:32px}.model .model-item[data-v-7fd256e5]{position:relative;padding-left:8px;width:196px;overflow:hidden}.model .model-item .c-icon[data-v-7fd256e5]{position:absolute;right:0;top:50%;margin-top:-8px}.model .model-item .model-name[data-v-7fd256e5]{line-height:22px;font-size:14px;font-weight:400;color:var(--color-text-primary)}.model .model-item .model-desc[data-v-7fd256e5]{font-size:12px;color:var(--color-text-desc);line-height:16px;margin-top:4px}.menu-item[data-v-7fd256e5]{padding:0 8px;margin-bottom:16px;display:flex;align-items:center;white-space:nowrap;list-style:none;line-height:22px;font-size:var(--el-font-size-base);color:var(--el-text-color-regular);cursor:pointer;outline:0}.menu-item.disabled[data-v-7fd256e5]{cursor:not-allowed}.vip-btn[data-v-7fd256e5]{background:linear-gradient(115.24deg,#bb89fa 2.14%,#635bff 96.77%);border-radius:8px;font-weight:400}.c-model-btn[data-v-7fd256e5]{height:20px;text-align:center;line-height:20px;color:#999aaa;overflow:hidden;cursor:pointer}.c-model-btn .c-model-btn-text[data-v-7fd256e5]{display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--color-text-empty)}.c-model-icon[data-v-7fd256e5]{transition:all .3s ease-in-out;margin-left:4px}.down .c-model-icon[data-v-7fd256e5]{transform:rotate(-180deg)}.el-text{--el-text-font-size:var(--el-font-size-base);--el-text-color:var(--el-text-color-regular)}.el-text{align-self:center;margin:0;padding:0;font-size:var(--el-text-font-size);color:var(--el-text-color);word-break:break-all}.el-text.is-truncated{display:inline-block;max-width:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.el-text.is-line-clamp{display:-webkit-inline-box;-webkit-box-orient:vertical;overflow:hidden}.el-text--large{--el-text-font-size:var(--el-font-size-medium)}.el-text--default{--el-text-font-size:var(--el-font-size-base)}.el-text--small{--el-text-font-size:var(--el-font-size-extra-small)}.el-text.el-text--primary{--el-text-color:var(--el-color-primary)}.el-text.el-text--success{--el-text-color:var(--el-color-success)}.el-text.el-text--warning{--el-text-color:var(--el-color-warning)}.el-text.el-text--danger{--el-text-color:var(--el-color-danger)}.el-text.el-text--error{--el-text-color:var(--el-color-error)}.el-text.el-text--info{--el-text-color:var(--el-color-info)}.el-text>.el-icon{vertical-align:-2px}.el-pagination{--el-pagination-font-size:14px;--el-pagination-bg-color:var(--el-fill-color-blank);--el-pagination-text-color:var(--el-text-color-primary);--el-pagination-border-radius:2px;--el-pagination-button-color:var(--el-text-color-primary);--el-pagination-button-width:32px;--el-pagination-button-height:32px;--el-pagination-button-disabled-color:var(--el-text-color-placeholder);--el-pagination-button-disabled-bg-color:var(--el-fill-color-blank);--el-pagination-button-bg-color:var(--el-fill-color);--el-pagination-hover-color:var(--el-color-primary);--el-pagination-font-size-small:12px;--el-pagination-button-width-small:24px;--el-pagination-button-height-small:24px;--el-pagination-item-gap:16px;white-space:nowrap;color:var(--el-pagination-text-color);font-size:var(--el-pagination-font-size);font-weight:400;display:flex;align-items:center}.el-pagination .el-input__inner{text-align:center;-moz-appearance:textfield}.el-pagination .el-select .el-input{width:128px}.el-pagination button{display:flex;justify-content:center;align-items:center;font-size:var(--el-pagination-font-size);min-width:var(--el-pagination-button-width);height:var(--el-pagination-button-height);line-height:var(--el-pagination-button-height);color:var(--el-pagination-button-color);background:var(--el-pagination-bg-color);padding:0 4px;border:none;border-radius:var(--el-pagination-border-radius);cursor:pointer;text-align:center;box-sizing:border-box}.el-pagination button *{pointer-events:none}.el-pagination button:focus{outline:0}.el-pagination button:hover{color:var(--el-pagination-hover-color)}.el-pagination button.is-active{color:var(--el-pagination-hover-color);cursor:default;font-weight:700}.el-pagination button.is-active.is-disabled{font-weight:700;color:var(--el-text-color-secondary)}.el-pagination button.is-disabled,.el-pagination button:disabled{color:var(--el-pagination-button-disabled-color);background-color:var(--el-pagination-button-disabled-bg-color);cursor:not-allowed}.el-pagination button:focus-visible{outline:1px solid var(--el-pagination-hover-color);outline-offset:-1px}.el-pagination .btn-next .el-icon,.el-pagination .btn-prev .el-icon{display:block;font-size:12px;font-weight:700;width:inherit}.el-pagination>.is-first{margin-left:0!important}.el-pagination>.is-last{margin-right:0!important}.el-pagination .btn-prev{margin-left:var(--el-pagination-item-gap)}.el-pagination__sizes,.el-pagination__total{margin-left:var(--el-pagination-item-gap);font-weight:400;color:var(--el-text-color-regular)}.el-pagination__total[disabled=true]{color:var(--el-text-color-placeholder)}.el-pagination__jump{display:flex;align-items:center;margin-left:var(--el-pagination-item-gap);font-weight:400;color:var(--el-text-color-regular)}.el-pagination__jump[disabled=true]{color:var(--el-text-color-placeholder)}.el-pagination__goto{margin-right:8px}.el-pagination__editor{text-align:center;box-sizing:border-box}.el-pagination__editor.el-input{width:56px}.el-pagination__editor .el-input__inner::-webkit-inner-spin-button,.el-pagination__editor .el-input__inner::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.el-pagination__classifier{margin-left:8px}.el-pagination__rightwrapper{flex:1;display:flex;align-items:center;justify-content:flex-end}.el-pagination.is-background .btn-next,.el-pagination.is-background .btn-prev,.el-pagination.is-background .el-pager li{margin:0 4px;background-color:var(--el-pagination-button-bg-color)}.el-pagination.is-background .btn-next.is-active,.el-pagination.is-background .btn-prev.is-active,.el-pagination.is-background .el-pager li.is-active{background-color:var(--el-color-primary);color:var(--el-color-white)}.el-pagination.is-background .btn-next.is-disabled,.el-pagination.is-background .btn-next:disabled,.el-pagination.is-background .btn-prev.is-disabled,.el-pagination.is-background .btn-prev:disabled,.el-pagination.is-background .el-pager li.is-disabled,.el-pagination.is-background .el-pager li:disabled{color:var(--el-text-color-placeholder);background-color:var(--el-disabled-bg-color)}.el-pagination.is-background .btn-next.is-disabled.is-active,.el-pagination.is-background .btn-next:disabled.is-active,.el-pagination.is-background .btn-prev.is-disabled.is-active,.el-pagination.is-background .btn-prev:disabled.is-active,.el-pagination.is-background .el-pager li.is-disabled.is-active,.el-pagination.is-background .el-pager li:disabled.is-active{color:var(--el-text-color-secondary);background-color:var(--el-fill-color-dark)}.el-pagination.is-background .btn-prev{margin-left:var(--el-pagination-item-gap)}.el-pagination--small .btn-next,.el-pagination--small .btn-prev,.el-pagination--small .el-pager li{height:var(--el-pagination-button-height-small);line-height:var(--el-pagination-button-height-small);font-size:var(--el-pagination-font-size-small);min-width:var(--el-pagination-button-width-small)}.el-pagination--small button,.el-pagination--small span:not([class*=suffix]){font-size:var(--el-pagination-font-size-small)}.el-pagination--small .el-select .el-input{width:100px}.el-pager{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;list-style:none;font-size:0;padding:0;margin:0;display:flex;align-items:center}.el-pager li{display:flex;justify-content:center;align-items:center;font-size:var(--el-pagination-font-size);min-width:var(--el-pagination-button-width);height:var(--el-pagination-button-height);line-height:var(--el-pagination-button-height);color:var(--el-pagination-button-color);background:var(--el-pagination-bg-color);padding:0 4px;border:none;border-radius:var(--el-pagination-border-radius);cursor:pointer;text-align:center;box-sizing:border-box}.el-pager li *{pointer-events:none}.el-pager li:focus{outline:0}.el-pager li:hover{color:var(--el-pagination-hover-color)}.el-pager li.is-active{color:var(--el-pagination-hover-color);cursor:default;font-weight:700}.el-pager li.is-active.is-disabled{font-weight:700;color:var(--el-text-color-secondary)}.el-pager li.is-disabled,.el-pager li:disabled{color:var(--el-pagination-button-disabled-color);background-color:var(--el-pagination-button-disabled-bg-color);cursor:not-allowed}.el-pager li:focus-visible{outline:1px solid var(--el-pagination-hover-color);outline-offset:-1px}.el-tag{--el-tag-font-size:12px;--el-tag-border-radius:4px;--el-tag-border-radius-rounded:9999px}.el-tag{--el-tag-bg-color:var(--el-color-primary-light-9);--el-tag-border-color:var(--el-color-primary-light-8);--el-tag-hover-color:var(--el-color-primary);--el-tag-text-color:var(--el-color-primary);background-color:var(--el-tag-bg-color);border-color:var(--el-tag-border-color);color:var(--el-tag-text-color);display:inline-flex;justify-content:center;align-items:center;vertical-align:middle;height:24px;padding:0 9px;font-size:var(--el-tag-font-size);line-height:1;border-width:1px;border-style:solid;border-radius:var(--el-tag-border-radius);box-sizing:border-box;white-space:nowrap;--el-icon-size:14px}.el-tag.el-tag--primary{--el-tag-bg-color:var(--el-color-primary-light-9);--el-tag-border-color:var(--el-color-primary-light-8);--el-tag-hover-color:var(--el-color-primary)}.el-tag.el-tag--success{--el-tag-bg-color:var(--el-color-success-light-9);--el-tag-border-color:var(--el-color-success-light-8);--el-tag-hover-color:var(--el-color-success)}.el-tag.el-tag--warning{--el-tag-bg-color:var(--el-color-warning-light-9);--el-tag-border-color:var(--el-color-warning-light-8);--el-tag-hover-color:var(--el-color-warning)}.el-tag.el-tag--danger{--el-tag-bg-color:var(--el-color-danger-light-9);--el-tag-border-color:var(--el-color-danger-light-8);--el-tag-hover-color:var(--el-color-danger)}.el-tag.el-tag--error{--el-tag-bg-color:var(--el-color-error-light-9);--el-tag-border-color:var(--el-color-error-light-8);--el-tag-hover-color:var(--el-color-error)}.el-tag.el-tag--info{--el-tag-bg-color:var(--el-color-info-light-9);--el-tag-border-color:var(--el-color-info-light-8);--el-tag-hover-color:var(--el-color-info)}.el-tag.el-tag--primary{--el-tag-text-color:var(--el-color-primary)}.el-tag.el-tag--success{--el-tag-text-color:var(--el-color-success)}.el-tag.el-tag--warning{--el-tag-text-color:var(--el-color-warning)}.el-tag.el-tag--danger{--el-tag-text-color:var(--el-color-danger)}.el-tag.el-tag--error{--el-tag-text-color:var(--el-color-error)}.el-tag.el-tag--info{--el-tag-text-color:var(--el-color-info)}.el-tag.is-hit{border-color:var(--el-color-primary)}.el-tag.is-round{border-radius:var(--el-tag-border-radius-rounded)}.el-tag .el-tag__close{color:var(--el-tag-text-color)}.el-tag .el-tag__close:hover{color:var(--el-color-white);background-color:var(--el-tag-hover-color)}.el-tag .el-icon{border-radius:50%;cursor:pointer;font-size:calc(var(--el-icon-size) - 2px);height:var(--el-icon-size);width:var(--el-icon-size)}.el-tag .el-tag__close{margin-left:6px}.el-tag--dark{--el-tag-bg-color:var(--el-color-primary);--el-tag-border-color:var(--el-color-primary);--el-tag-hover-color:var(--el-color-primary-light-3);--el-tag-text-color:var(--el-color-white)}.el-tag--dark.el-tag--primary{--el-tag-bg-color:var(--el-color-primary);--el-tag-border-color:var(--el-color-primary);--el-tag-hover-color:var(--el-color-primary-light-3)}.el-tag--dark.el-tag--success{--el-tag-bg-color:var(--el-color-success);--el-tag-border-color:var(--el-color-success);--el-tag-hover-color:var(--el-color-success-light-3)}.el-tag--dark.el-tag--warning{--el-tag-bg-color:var(--el-color-warning);--el-tag-border-color:var(--el-color-warning);--el-tag-hover-color:var(--el-color-warning-light-3)}.el-tag--dark.el-tag--danger{--el-tag-bg-color:var(--el-color-danger);--el-tag-border-color:var(--el-color-danger);--el-tag-hover-color:var(--el-color-danger-light-3)}.el-tag--dark.el-tag--error{--el-tag-bg-color:var(--el-color-error);--el-tag-border-color:var(--el-color-error);--el-tag-hover-color:var(--el-color-error-light-3)}.el-tag--dark.el-tag--info{--el-tag-bg-color:var(--el-color-info);--el-tag-border-color:var(--el-color-info);--el-tag-hover-color:var(--el-color-info-light-3)}.el-tag--dark.el-tag--primary,.el-tag--dark.el-tag--success,.el-tag--dark.el-tag--warning,.el-tag--dark.el-tag--danger,.el-tag--dark.el-tag--error,.el-tag--dark.el-tag--info{--el-tag-text-color:var(--el-color-white)}.el-tag--plain{--el-tag-border-color:var(--el-color-primary-light-5);--el-tag-hover-color:var(--el-color-primary);--el-tag-bg-color:var(--el-fill-color-blank)}.el-tag--plain.el-tag--primary{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-primary-light-5);--el-tag-hover-color:var(--el-color-primary)}.el-tag--plain.el-tag--success{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-success-light-5);--el-tag-hover-color:var(--el-color-success)}.el-tag--plain.el-tag--warning{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-warning-light-5);--el-tag-hover-color:var(--el-color-warning)}.el-tag--plain.el-tag--danger{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-danger-light-5);--el-tag-hover-color:var(--el-color-danger)}.el-tag--plain.el-tag--error{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-error-light-5);--el-tag-hover-color:var(--el-color-error)}.el-tag--plain.el-tag--info{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-info-light-5);--el-tag-hover-color:var(--el-color-info)}.el-tag.is-closable{padding-right:5px}.el-tag--large{padding:0 11px;height:32px;--el-icon-size:16px}.el-tag--large .el-tag__close{margin-left:8px}.el-tag--large.is-closable{padding-right:7px}.el-tag--small{padding:0 7px;height:20px;--el-icon-size:12px}.el-tag--small .el-tag__close{margin-left:4px}.el-tag--small.is-closable{padding-right:3px}.el-tag--small .el-icon-close{transform:scale(.8)}.el-tag.el-tag--primary.is-hit{border-color:var(--el-color-primary)}.el-tag.el-tag--success.is-hit{border-color:var(--el-color-success)}.el-tag.el-tag--warning.is-hit{border-color:var(--el-color-warning)}.el-tag.el-tag--danger.is-hit{border-color:var(--el-color-danger)}.el-tag.el-tag--error.is-hit{border-color:var(--el-color-error)}.el-tag.el-tag--info.is-hit{border-color:var(--el-color-info)}.el-select-dropdown__item{font-size:var(--el-font-size-base);padding:0 32px 0 20px;position:relative;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--el-text-color-regular);height:34px;line-height:34px;box-sizing:border-box;cursor:pointer}.el-select-dropdown__item.is-disabled{color:var(--el-text-color-placeholder);cursor:not-allowed}.el-select-dropdown__item.hover,.el-select-dropdown__item:hover{background-color:var(--el-fill-color-light)}.el-select-dropdown__item.selected{color:var(--el-color-primary);font-weight:700}.el-select-group{margin:0;padding:0}.el-select-group__wrap{position:relative;list-style:none;margin:0;padding:0}.el-select-group__wrap:not(:last-of-type){padding-bottom:24px}.el-select-group__wrap:not(:last-of-type):after{content:"";position:absolute;display:block;left:20px;right:20px;bottom:12px;height:1px;background:var(--el-border-color-light)}.el-select-group__split-dash{position:absolute;left:20px;right:20px;height:1px;background:var(--el-border-color-light)}.el-select-group__title{padding-left:20px;font-size:12px;color:var(--el-color-info);line-height:30px}.el-select-group .el-select-dropdown__item{padding-left:20px}.el-select-dropdown{z-index:calc(var(--el-index-top) + 1);border-radius:var(--el-border-radius-base);box-sizing:border-box}.el-select-dropdown.is-multiple .el-select-dropdown__item.selected{color:var(--el-color-primary);background-color:var(--el-bg-color-overlay)}.el-select-dropdown.is-multiple .el-select-dropdown__item.selected.hover{background-color:var(--el-fill-color-light)}.el-select-dropdown.is-multiple .el-select-dropdown__item.selected:after{content:"";position:absolute;top:50%;right:20px;border-top:none;border-right:none;background-repeat:no-repeat;background-position:center;background-color:var(--el-color-primary);-webkit-mask:url("data:image/svg+xml;utf8,%3Csvg class='icon' width='200' height='200' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='currentColor' d='M406.656 706.944L195.84 496.256a32 32 0 10-45.248 45.248l256 256 512-512a32 32 0 00-45.248-45.248L406.592 706.944z'%3E%3C/path%3E%3C/svg%3E") no-repeat;mask:url("data:image/svg+xml;utf8,%3Csvg class='icon' width='200' height='200' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='currentColor' d='M406.656 706.944L195.84 496.256a32 32 0 10-45.248 45.248l256 256 512-512a32 32 0 00-45.248-45.248L406.592 706.944z'%3E%3C/path%3E%3C/svg%3E") no-repeat;mask-size:100% 100%;-webkit-mask:url("data:image/svg+xml;utf8,%3Csvg class='icon' width='200' height='200' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='currentColor' d='M406.656 706.944L195.84 496.256a32 32 0 10-45.248 45.248l256 256 512-512a32 32 0 00-45.248-45.248L406.592 706.944z'%3E%3C/path%3E%3C/svg%3E") no-repeat;-webkit-mask-size:100% 100%;transform:translateY(-50%);width:12px;height:12px}.el-select-dropdown.is-multiple .el-select-dropdown__item.selected.is-disabled:after{background-color:var(--el-text-color-disabled)}.el-select-dropdown .el-select-dropdown__option-item.is-selected:after{content:"";position:absolute;top:50%;right:20px;border-top:none;border-right:none;background-repeat:no-repeat;background-position:center;background-color:var(--el-color-primary);-webkit-mask:url("data:image/svg+xml;utf8,%3Csvg class='icon' width='200' height='200' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='currentColor' d='M406.656 706.944L195.84 496.256a32 32 0 10-45.248 45.248l256 256 512-512a32 32 0 00-45.248-45.248L406.592 706.944z'%3E%3C/path%3E%3C/svg%3E") no-repeat;mask:url("data:image/svg+xml;utf8,%3Csvg class='icon' width='200' height='200' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='currentColor' d='M406.656 706.944L195.84 496.256a32 32 0 10-45.248 45.248l256 256 512-512a32 32 0 00-45.248-45.248L406.592 706.944z'%3E%3C/path%3E%3C/svg%3E") no-repeat;mask-size:100% 100%;-webkit-mask:url("data:image/svg+xml;utf8,%3Csvg class='icon' width='200' height='200' viewBox='0 0 1024 1024' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='currentColor' d='M406.656 706.944L195.84 496.256a32 32 0 10-45.248 45.248l256 256 512-512a32 32 0 00-45.248-45.248L406.592 706.944z'%3E%3C/path%3E%3C/svg%3E") no-repeat;-webkit-mask-size:100% 100%;transform:translateY(-50%);width:12px;height:12px}.el-select-dropdown .el-scrollbar.is-empty .el-select-dropdown__list{padding:0}.el-select-dropdown .el-select-dropdown__item.is-disabled:hover{background-color:unset}.el-select-dropdown .el-select-dropdown__item.is-disabled.selected{color:var(--el-text-color-disabled)}.el-select-dropdown__empty{padding:10px 0;margin:0;text-align:center;color:var(--el-text-color-secondary);font-size:var(--el-select-font-size)}.el-select-dropdown__wrap{max-height:274px}.el-select-dropdown__list{list-style:none;padding:6px 0;margin:0;box-sizing:border-box}.el-select-dropdown__header{padding:10px;border-bottom:1px solid var(--el-border-color-light)}.el-select-dropdown__footer{padding:10px;border-top:1px solid var(--el-border-color-light)}.el-select{--el-select-border-color-hover:var(--el-border-color-hover);--el-select-disabled-border:var(--el-disabled-border-color);--el-select-font-size:var(--el-font-size-base);--el-select-close-hover-color:var(--el-text-color-secondary);--el-select-input-color:var(--el-text-color-placeholder);--el-select-multiple-input-color:var(--el-text-color-regular);--el-select-input-focus-border-color:var(--el-color-primary);--el-select-input-font-size:14px}.el-select{display:inline-block;position:relative;vertical-align:middle;line-height:32px}.el-select__popper.el-popper{background:var(--el-bg-color-overlay);border:1px solid var(--el-border-color-light);box-shadow:var(--el-box-shadow-light)}.el-select__popper.el-popper .el-popper__arrow:before{border:1px solid var(--el-border-color-light)}.el-select__popper.el-popper[data-popper-placement^=top] .el-popper__arrow:before{border-top-color:transparent;border-left-color:transparent}.el-select__popper.el-popper[data-popper-placement^=bottom] .el-popper__arrow:before{border-bottom-color:transparent;border-right-color:transparent}.el-select__popper.el-popper[data-popper-placement^=left] .el-popper__arrow:before{border-left-color:transparent;border-bottom-color:transparent}.el-select__popper.el-popper[data-popper-placement^=right] .el-popper__arrow:before{border-right-color:transparent;border-top-color:transparent}.el-select .el-select-tags-wrapper.has-prefix{margin-left:6px}.el-select--large{line-height:40px}.el-select--large .el-select-tags-wrapper.has-prefix{margin-left:8px}.el-select--small{line-height:24px}.el-select--small .el-select-tags-wrapper.has-prefix{margin-left:4px}.el-select .el-select__tags>span{display:inline-block}.el-select:hover:not(.el-select--disabled) .el-input__wrapper{box-shadow:0 0 0 1px var(--el-select-border-color-hover) inset}.el-select .el-select__tags-text{display:inline-block;line-height:normal;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.el-select .el-input__wrapper{cursor:pointer}.el-select .el-input__wrapper.is-focus{box-shadow:0 0 0 1px var(--el-select-input-focus-border-color) inset!important}.el-select .el-input__inner{cursor:pointer}.el-select .el-input{display:flex}.el-select .el-input .el-select__caret{color:var(--el-select-input-color);font-size:var(--el-select-input-font-size);transition:transform var(--el-transition-duration);transform:rotate(0);cursor:pointer}.el-select .el-input .el-select__caret.is-reverse{transform:rotate(-180deg)}.el-select .el-input .el-select__caret.is-show-close{font-size:var(--el-select-font-size);text-align:center;transform:rotate(0);border-radius:var(--el-border-radius-circle);color:var(--el-select-input-color);transition:var(--el-transition-color)}.el-select .el-input .el-select__caret.is-show-close:hover{color:var(--el-select-close-hover-color)}.el-select .el-input .el-select__caret.el-icon{position:relative;height:inherit;z-index:2}.el-select .el-input.is-disabled .el-input__wrapper{cursor:not-allowed}.el-select .el-input.is-disabled .el-input__wrapper:hover{box-shadow:0 0 0 1px var(--el-select-disabled-border) inset}.el-select .el-input.is-disabled .el-input__inner,.el-select .el-input.is-disabled .el-select__caret{cursor:not-allowed}.el-select .el-input.is-focus .el-input__wrapper{box-shadow:0 0 0 1px var(--el-select-input-focus-border-color) inset!important}.el-select__input{border:none;outline:0;padding:0;margin-left:15px;color:var(--el-select-multiple-input-color);font-size:var(--el-select-font-size);-webkit-appearance:none;-moz-appearance:none;appearance:none;height:28px;background-color:transparent}.el-select__input.is-disabled{cursor:not-allowed}.el-select__input--iOS{position:absolute;left:0;top:0;z-index:6}.el-select__input.is-small{height:14px}.el-select__close{cursor:pointer;position:absolute;top:8px;z-index:var(--el-index-top);right:25px;color:var(--el-select-input-color);line-height:18px;font-size:var(--el-select-input-font-size)}.el-select__close:hover{color:var(--el-select-close-hover-color)}.el-select__tags{position:absolute;line-height:normal;top:50%;transform:translateY(-50%);white-space:normal;z-index:var(--el-index-normal);display:flex;align-items:center;flex-wrap:wrap;cursor:pointer}.el-select__tags .el-tag{box-sizing:border-box;border-color:transparent;margin:2px 6px 2px 0}.el-select__tags .el-tag:last-child{margin-right:0}.el-select__tags .el-tag .el-icon-close{background-color:var(--el-text-color-placeholder);right:-7px;top:0;color:#fff}.el-select__tags .el-tag .el-icon-close:hover{background-color:var(--el-text-color-secondary)}.el-select__tags .el-tag .el-icon-close:before{display:block;transform:translateY(.5px)}.el-select__tags .el-tag--info{background-color:var(--el-fill-color)}.el-select__tags.is-disabled{cursor:not-allowed}.el-select__collapse-tags{white-space:normal;z-index:var(--el-index-normal);display:flex;align-items:center;flex-wrap:wrap;cursor:pointer}.el-select__collapse-tags .el-tag{box-sizing:border-box;border-color:transparent;margin:2px 6px 2px 0}.el-select__collapse-tags .el-tag:last-child{margin-right:0}.el-select__collapse-tags .el-tag .el-icon-close{background-color:var(--el-text-color-placeholder);right:-7px;top:0;color:#fff}.el-select__collapse-tags .el-tag .el-icon-close:hover{background-color:var(--el-text-color-secondary)}.el-select__collapse-tags .el-tag .el-icon-close:before{display:block;transform:translateY(.5px)}.el-select__collapse-tags .el-tag--info{background-color:var(--el-fill-color)}.el-select__collapse-tag{line-height:inherit;height:inherit;display:flex}@media screen and (min-width: 769px){.scroll-bar-style:hover::-webkit-scrollbar-thumb,.chat-doc-manage-list-wrap .chat-doc-manage-list .table-outer .table-row:hover::-webkit-scrollbar-thumb{box-shadow:inset 0 0 5px #0000001a;background:#f7f7fc}.scroll-bar-style::-webkit-scrollbar,.chat-doc-manage-list-wrap .chat-doc-manage-list .table-outer .table-row::-webkit-scrollbar{width:5px;height:5px}.scroll-bar-style::-webkit-scrollbar-thumb,.chat-doc-manage-list-wrap .chat-doc-manage-list .table-outer .table-row::-webkit-scrollbar-thumb{border-radius:10px;box-shadow:inset 0 0 5px #0000;background:#0000}.scroll-bar-style::-webkit-scrollbar-track,.chat-doc-manage-list-wrap .chat-doc-manage-list .table-outer .table-row::-webkit-scrollbar-track{border-radius:10px;background:#0000}}.el-dialog.chat-doc-manage-modal{padding:0}.el-dialog.chat-doc-manage-modal .el-loading-mask{background-color:transparent}.el-dialog.chat-doc-manage-modal .el-dialog__header{padding:24px 24px 0;font-size:16px;font-weight:500;color:#222226}.el-dialog.chat-doc-manage-modal .el-dialog__header .el-dialog__headerbtn{color:#999aaa;top:0}.el-dialog.chat-doc-manage-modal .el-dialog__header .el-dialog__headerbtn:hover .el-dialog__close{color:#999aaa}.el-dialog.chat-doc-manage-modal .el-dialog__body{padding:0 24px}.el-dialog.chat-doc-manage-modal .empty-data .is-loaded{padding-top:90px}.el-dialog.chat-doc-manage-modal .empty-data .is-loaded img{-webkit-user-select:none;user-select:none;width:120px;display:block;margin:0 auto}.el-dialog.chat-doc-manage-modal .empty-data .is-loaded p{text-align:center;font-weight:400;margin:0;font-size:14px;color:#555666;line-height:20px}.chat-doc-manage-list-wrap{height:523px;padding:0 16px 24px;overflow:hidden}.chat-doc-manage-list-wrap .chat-doc-manage-list{height:100%}.chat-doc-manage-list-wrap .chat-doc-manage-list .table-outer{overflow:hidden}.chat-doc-manage-list-wrap .chat-doc-manage-list .table-outer *{box-sizing:border-box}.chat-doc-manage-list-wrap .chat-doc-manage-list .table-outer .table-header{width:100%;margin:5px 0}.chat-doc-manage-list-wrap .chat-doc-manage-list .table-outer .table-header .table-header-it{font-size:14px;line-height:40px;padding:0 4px;font-size:12px;font-weight:400;color:#999aaa;-webkit-user-select:none;user-select:none}.chat-doc-manage-list-wrap .chat-doc-manage-list .table-outer .table-header .table-header-it.pointer{cursor:pointer}.chat-doc-manage-list-wrap .chat-doc-manage-list .table-outer .table-row{height:450px;overflow-y:auto}.chat-doc-manage-list-wrap .chat-doc-manage-list .table-outer .table-row .table-item{height:55px;background:#fff;border-radius:4px;overflow:hidden;transition:background .2s linear;border-bottom:1px solid #e8e8f0}.chat-doc-manage-list-wrap .chat-doc-manage-list .table-outer .table-row .table-item:first-child{margin-top:0}.chat-doc-manage-list-wrap .chat-doc-manage-list .table-outer .table-row .table-item:hover{background:linear-gradient(to right,#0000000a,#0000)}.chat-doc-manage-list-wrap .chat-doc-manage-list .table-outer .table-row .table-item:hover .table-item-it,.chat-doc-manage-list-wrap .chat-doc-manage-list .table-outer .table-row .table-item:hover .table-item-it.fileName span{color:#6d5ffd}.chat-doc-manage-list-wrap .chat-doc-manage-list .table-outer .table-row .table-item:hover .doc-icon{background:url(//cdn-static-devbit.csdn.net/ai100/chat/imgs/v2/file-active.svg)!important}.chat-doc-manage-list-wrap .chat-doc-manage-list .table-outer .table-row .table-item-it{padding:0 4px;flex-shrink:0;line-height:54px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:400;color:#555666;cursor:default}.chat-doc-manage-list-wrap .chat-doc-manage-list .table-outer .table-row .table-item-it:not(.fileName){-webkit-user-select:none;user-select:none}.chat-doc-manage-list-wrap .chat-doc-manage-list .table-outer .table-row .table-item-it:last-child{border-right:none}.chat-doc-manage-list-wrap .chat-doc-manage-list .table-outer .table-row .table-item-it.fileName{font-size:0}.chat-doc-manage-list-wrap .chat-doc-manage-list .table-outer .table-row .table-item-it.fileName span,.chat-doc-manage-list-wrap .chat-doc-manage-list .table-outer .table-row .table-item-it.fileName img{vertical-align:middle}.chat-doc-manage-list-wrap .chat-doc-manage-list .table-outer .table-row .table-item-it.fileName span{color:#222226}.chat-doc-manage-list-wrap .chat-doc-manage-list .table-outer .table-row .table-item-it.fileName .doc-icon{display:inline-block;background:url(//cdn-static-devbit.csdn.net/ai100/chat/imgs/v2/file.svg);background-size:contain;width:18px;height:18px;margin-right:8px;vertical-align:middle}.chat-doc-manage-list-wrap .chat-doc-manage-list .table-outer .table-row .table-item-it.actions button{cursor:pointer;width:40px;line-height:20px;border-radius:8px;border:1px solid rgb(87,79,245);font-size:12px;font-weight:400;margin-right:10px;color:#fff;box-sizing:border-box}.chat-doc-manage-list-wrap .chat-doc-manage-list .table-outer .table-row .table-item-it.actions button.primary-btn{color:#6d5ffd;background-color:#fff}.chat-doc-manage-list-wrap .chat-doc-manage-list .table-outer .table-row .table-item-it.actions button.primary-btn:hover{border:1px solid rgb(109,95,253)}.chat-doc-manage-list-wrap .chat-doc-manage-list .table-outer .table-row .table-item-it.actions button.no-ghost{background:linear-gradient(115.24deg,#bb89fa 2.14%,#635bff 96.77%);border:none;line-height:22px}.chat-doc-manage-list-wrap .chat-doc-manage-list .table-outer .table-row .table-item-it.actions button.no-ghost:hover{background:#6d5ffd}.chat-doc-manage-list-wrap .chat-doc-manage-list .table-outer .table-row .table-item-it.actions i{font-size:16px;cursor:pointer}.chat-doc-manage-list-wrap .chat-doc-manage-list .table-outer .table-row .table-item-it.actions i:hover{color:#595959}.chat-doc-manage-list-wrap .chat-doc-manage-list .table-outer .table-footer{display:flex;justify-content:center;margin-top:16px}.chat-doc-manage-list-wrap .chat-doc-manage-list .table-outer .chat-doc-manage-list-pagination.is-background .el-pager li{font-size:12px;transition:all .2s}.chat-doc-manage-list-wrap .chat-doc-manage-list .table-outer .chat-doc-manage-list-pagination.is-background .el-pager li:hover{font-weight:700;color:#222226}.chat-doc-manage-list-wrap .chat-doc-manage-list .table-outer .chat-doc-manage-list-pagination.is-background .el-pager li.is-active{background-color:#555666}.chat-doc-manage-list-wrap .chat-doc-manage-list .table-outer .chat-doc-manage-list-pagination.is-background .el-pager li.is-active:hover{color:#fff}.chat-doc-manage-list-wrap .chat-doc-manage-list .table-outer .chat-doc-manage-list-pagination.is-background .btn-prev:disabled{color:#e8e8ed}.chat-doc-manage-list-wrap .chat-doc-manage-list .table-outer .chat-doc-manage-list-pagination button{color:#555665}.chat-doc-manage-list-wrap .chat-doc-manage-list .table-outer .chat-doc-manage-list-pagination.is-background .btn-next:hover,.chat-doc-manage-list-wrap .chat-doc-manage-list .table-outer .chat-doc-manage-list-pagination.is-background .btn-prev:hover{color:#222226}.chat-doc-manage-list-wrap .chat-doc-manage-list .table-outer .chat-doc-manage-list-pagination.is-background .btn-next:disabled,.chat-doc-manage-list-wrap .chat-doc-manage-list .table-outer .chat-doc-manage-list-pagination.is-background .btn-prev:disabled{color:#e8e8ed}.chat-doc-manage-list-wrap .chat-doc-manage-list .table-outer .chat-doc-manage-list-pagination.is-background .btn-next,.chat-doc-manage-list-wrap .chat-doc-manage-list .table-outer .chat-doc-manage-list-pagination.is-background .btn-prev,.chat-doc-manage-list-wrap .chat-doc-manage-list .table-outer .chat-doc-manage-list-pagination.is-background .el-pager li{background-color:#fff;border-radius:4px}.chat-doc-manage-list-wrap .chat-doc-manage-list .flex{display:flex}.chat-doc-manage-list-wrap .chat-doc-manage-list .flex1{flex:1}.chat-doc-manage-list-wrap .chat-doc-manage-list .flex-warp{flex-wrap:wrap}.chat-doc-manage-list-wrap .chat-doc-manage-list .flex-direction-cloumn{flex-direction:column}.chat-doc-manage-list-wrap .chat-doc-manage-list .justify-content-between{justify-content:space-between}.chat-doc-manage-list-wrap .chat-doc-manage-list .justify-content-center{justify-content:center}.chat-doc-manage-list-wrap .chat-doc-manage-list .align-items-center{align-items:center}.chat-doc-manage-list-wrap .chat-doc-manage-list .align-content-between{align-content:space-between}.chat-doc-delete-confirm-dialog{width:366px;padding:22px}.chat-doc-delete-confirm-dialog .chat-doc-button{padding:0 16px;line-height:38px;border-radius:8px;border:1px solid rgb(109,95,253);background-color:#fff;font-size:12px;outline:none;font-weight:500;color:#6d5ffd;cursor:pointer;transition:all .2s}.chat-doc-delete-confirm-dialog .chat-doc-button:hover{border-color:#6d5ffd;background:#fff;color:#6d5ffd}.chat-doc-delete-confirm-dialog .chat-doc-button.primary{color:#fff;border-color:#6d5ffd;background-color:#6d5ffd}.chat-doc-delete-confirm-dialog .chat-doc-button.primary:hover{background-color:#6d5ffd}.chat-doc-delete-confirm-dialog .chat-doc-button.disable{cursor:not-allowed;border:none;background-color:#6d5ffd80}.chat-doc-delete-confirm-dialog .chat-doc-button.disable:hover{background-color:#6d5ffd80}.chat-doc-delete-confirm-dialog .chat-doc-button{padding:0 16px}.chat-doc-delete-confirm-dialog .el-message-box__headerbtn{top:12px;right:12px}.chat-doc-delete-confirm-dialog .el-message-box__content{padding-bottom:32px}.item-end{width:100%;text-align:center;padding:6px 0;color:#999;font-size:12px}.el-dialog.chat-doc-manage-modal{background-repeat:no-repeat;background-size:100% 100%;overflow:hidden;padding:0}.el-dialog.chat-doc-manage-modal .chat-doc-button{padding:0 16px;line-height:38px;border-radius:8px;border:1px solid rgb(109,95,253);background-color:#fff;font-size:12px;outline:none;font-weight:500;color:#6d5ffd;cursor:pointer;transition:all .2s}.el-dialog.chat-doc-manage-modal .chat-doc-button:hover{border-color:#6d5ffd;background:#fff;color:#6d5ffd}.el-dialog.chat-doc-manage-modal .chat-doc-button.primary{color:#fff;border-color:#6d5ffd;background-color:#6d5ffd}.el-dialog.chat-doc-manage-modal .chat-doc-button.primary:hover{background-color:#6d5ffd}.el-dialog.chat-doc-manage-modal .chat-doc-button.disable{cursor:not-allowed;border:none;background-color:#6d5ffd80}.el-dialog.chat-doc-manage-modal .chat-doc-button.disable:hover{background-color:#6d5ffd80}.el-dialog.chat-doc-manage-modal .dialog-footer button:first-child{margin-right:12px}.el-dialog.chat-doc-manage-modal .el-dialog__header{position:relative;height:74px;margin-right:0;padding-right:16px;background:linear-gradient(270deg,#ebf5ff,#efe3ff)}.el-dialog.chat-doc-manage-modal .el-dialog__header .my-header{position:absolute;padding:24px 24px 0;top:0;left:0;bottom:0;right:0;display:block;content:" ";background:linear-gradient(180deg,#fff0,#fff)}.el-dialog.chat-doc-manage-modal .el-dialog__footer{display:none}.el-dialog.chat-doc-manage-modal .footer-btns{display:block;padding:18px 0 24px;width:100%;text-align:right}.el-dialog.chat-doc-manage-modal .footer-btns button{margin-left:16px}.el-dialog.chat-doc-manage-modal .footer-btns button:first-child{margin-left:0}@media screen and (min-width: 769px){.scroll-bar-style:hover::-webkit-scrollbar-thumb,.el-dialog.chat-code-manage-modal .code-container:hover::-webkit-scrollbar-thumb{box-shadow:inset 0 0 5px #0000001a;background:#f7f7fc}.scroll-bar-style::-webkit-scrollbar,.el-dialog.chat-code-manage-modal .code-container::-webkit-scrollbar{width:5px;height:5px}.scroll-bar-style::-webkit-scrollbar-thumb,.el-dialog.chat-code-manage-modal .code-container::-webkit-scrollbar-thumb{border-radius:10px;box-shadow:inset 0 0 5px #0000;background:#0000}.scroll-bar-style::-webkit-scrollbar-track,.el-dialog.chat-code-manage-modal .code-container::-webkit-scrollbar-track{border-radius:10px;background:#0000}}.el-dialog.chat-code-manage-modal{background-repeat:no-repeat;background-size:100% 100%;overflow:hidden;padding:16px}.el-dialog.chat-code-manage-modal .chat-doc-button{padding:0 16px;line-height:38px;border-radius:8px;border:1px solid rgb(109,95,253);background-color:#fff;font-size:12px;outline:none;font-weight:500;color:#6d5ffd;cursor:pointer;transition:all .2s}.el-dialog.chat-code-manage-modal .chat-doc-button:hover{border-color:#6d5ffd;background:#fff;color:#6d5ffd}.el-dialog.chat-code-manage-modal .chat-doc-button.primary{color:#fff;border-color:#6d5ffd;background-color:#6d5ffd}.el-dialog.chat-code-manage-modal .chat-doc-button.primary:hover{background-color:#6d5ffd}.el-dialog.chat-code-manage-modal .chat-doc-button.disable{cursor:not-allowed;border:none;background-color:#6d5ffd80}.el-dialog.chat-code-manage-modal .chat-doc-button.disable:hover{background-color:#6d5ffd80}.el-dialog.chat-code-manage-modal .el-dialog__header{padding:0}.el-dialog.chat-code-manage-modal .el-dialog__header button{top:6px}.el-dialog.chat-code-manage-modal .el-dialog__body{padding:8px 0}.el-dialog.chat-code-manage-modal .code-radius{border-radius:8px;overflow:hidden}.el-dialog.chat-code-manage-modal .code-container{width:100%;height:416px;overflow:auto;position:relative;background:#1c1c28;display:flex;padding:16px 8px;box-sizing:border-box;font-size:12px;line-height:20px}.el-dialog.chat-code-manage-modal .code-container::-webkit-scrollbar{width:2px;height:2px}.el-dialog.chat-code-manage-modal .code-container .lines{min-width:32px}.el-dialog.chat-code-manage-modal .code-container .lines li{width:100%;text-align:center}.el-dialog.chat-code-manage-modal .code-container .code{min-width:calc(100% - 32px);min-height:100%;width:max-content;height:max-content;margin:0;display:block;outline:none;padding:0 0 0 8px;color:var(--color-text-desc);counter-reset:mycounter;white-space:pre;background:inherit;caret-color:#fc5531}.el-dialog.chat-code-manage-modal .code-container .code::-webkit-scrollbar{display:none}.el-dialog.chat-code-manage-modal .dialog-footer button:first-child{margin-right:12px}.el-dialog.chat-code-manage-modal .el-dialog__footer{display:none}.el-dialog.chat-code-manage-modal .footer-btns{display:block;padding:18px 0 0;width:100%;text-align:right}.el-dialog.chat-code-manage-modal .footer-btns .chat-doc-button{height:40px;border-radius:20px;padding:0 40px}.el-dialog.chat-code-manage-modal .footer-btns button{margin-left:16px}.el-dialog.chat-code-manage-modal .footer-btns button:first-child{margin-left:0}.chat-doc_upload-button-pro[data-v-3a3be566]{position:relative;z-index:2;background-color:#fff;padding:10px;height:100%;border-radius:12px 12px 0 0}.chat-doc_upload-button-pro[data-v-3a3be566]:after{content:"";position:absolute;bottom:0;left:10px;width:calc(100% - 20px);height:1px;background:#f2f2f5}.chat-doc_upload-button-pro button[data-v-3a3be566]{width:max-content;max-width:50%;font-size:14px;height:24px;background-color:#6d5ffd0d;border:1px dashed rgba(109,95,253,.4);border-radius:4px;color:#6d5ffd;font-weight:500;text-align:center;display:flex;column-gap:4px;padding:0 6px 0 10px;align-items:center;box-sizing:border-box;cursor:pointer;overflow:hidden}.chat-doc_upload-button-pro button .doc-name[data-v-3a3be566]{flex:1;text-align:left;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.chat-doc_upload-button-pro button .icon-close[data-v-3a3be566]{padding:4px;line-height:10px;box-sizing:border-box}.chat-doc_upload-button-pro button .doc-icon[data-v-3a3be566]{width:18px;height:18px;text-align:center}.dialog-linear-gradient-modal-fk{--el-overlay-color-lighter: rgba(0, 0, 0, .3)}.dialog-linear-gradient-modal-fk .el-dialog.dialog-linear-gradient-fk{--el-dialog-padding-primary: 22px;border-radius:16px;padding:22px}.dialog-linear-gradient-modal-fk .el-dialog.dialog-linear-gradient-fk .el-dialog__header{padding:0}.dialog-linear-gradient-modal-fk .el-dialog.dialog-linear-gradient-fk .el-dialog__header .el-dialog__title{color:#000;font-size:18px;font-style:normal;font-weight:400;line-height:24px}.dialog-linear-gradient-modal-fk .el-dialog.dialog-linear-gradient-fk .el-dialog__body{padding:22px 0}.dialog-linear-gradient-modal-fk .el-dialog.dialog-linear-gradient-fk .el-dialog__body .dialog-linear-gradient-fk_content{position:relative}.dialog-linear-gradient-modal-fk .el-dialog.dialog-linear-gradient-fk .el-dialog__body .dialog-linear-gradient-fk_content .fk_content—input{border-radius:8px;padding:0}.dialog-linear-gradient-modal-fk .el-dialog.dialog-linear-gradient-fk .el-dialog__body .dialog-linear-gradient-fk_content .fk_content—input .fk_content—input-border{border-radius:8px;background-color:#fff;border:1px solid #ccccd8;transition:border-color .2s}.dialog-linear-gradient-modal-fk .el-dialog.dialog-linear-gradient-fk .el-dialog__body .dialog-linear-gradient-fk_content .fk_content—input .fk_content—input-border:hover{border-color:#6d5ffd}.dialog-linear-gradient-modal-fk .el-dialog.dialog-linear-gradient-fk .el-dialog__body .dialog-linear-gradient-fk_content .fk_content—input.is-focus{padding:1px;background:linear-gradient(135deg,#c77af4cc,#2f1bffcc)}.dialog-linear-gradient-modal-fk .el-dialog.dialog-linear-gradient-fk .el-dialog__body .dialog-linear-gradient-fk_content .fk_content—input.is-focus .fk_content—input-border{border-radius:7px;border:none}.dialog-linear-gradient-modal-fk .el-dialog.dialog-linear-gradient-fk .el-dialog__body .dialog-linear-gradient-fk_content .el-input{--el-input-height: 40px;--el-input-border-radius: 8px}.dialog-linear-gradient-modal-fk .el-dialog.dialog-linear-gradient-fk .el-dialog__body .dialog-linear-gradient-fk_content .el-input .el-input__wrapper{box-shadow:none;border:none}.dialog-linear-gradient-modal-fk .el-dialog.dialog-linear-gradient-fk .el-dialog__body .dialog-linear-gradient-fk_content .el-input .el-input__prefix .el-icon.el-input__icon{font-size:20px;color:#8f8fa6}.dialog-linear-gradient-modal-fk .el-dialog.dialog-linear-gradient-fk .el-dialog__body .dialog-linear-gradient-fk_content .error-tip{position:absolute;left:3px;top:44px;color:#fc5531;font-size:12px;font-style:normal;font-weight:400;line-height:24px}.dialog-linear-gradient-modal-fk .el-dialog.dialog-linear-gradient-fk .el-dialog__footer{padding:0}.dialog-linear-gradient-modal-fk .el-dialog.dialog-linear-gradient-fk .el-dialog__footer .dialog-footer{line-height:0}.dialog-linear-gradient-modal-fk .el-dialog.dialog-linear-gradient-fk .el-dialog__footer .gradient-button{height:30px;text-align:center;cursor:pointer;border-radius:8px;overflow:hidden;display:inline-block;background:#fff;border:1px solid #6d5ffd;color:#6d5ffd;box-sizing:border-box;margin-left:8px;font-size:0;-webkit-user-select:none;user-select:none}.dialog-linear-gradient-modal-fk .el-dialog.dialog-linear-gradient-fk .el-dialog__footer .gradient-button .gradient-button_hover{background-color:transparent;width:100%;height:100%;padding:1px}.dialog-linear-gradient-modal-fk .el-dialog.dialog-linear-gradient-fk .el-dialog__footer .gradient-button .gradient-button_hover .gradient-button_inner{background-color:#fff;border-radius:7px;height:100%;padding:0 16px}.dialog-linear-gradient-modal-fk .el-dialog.dialog-linear-gradient-fk .el-dialog__footer .gradient-button .gradient-button_hover .gradient-button_inner span{-webkit-text-fill-color:#6d5ffd;color:#6d5ffd;background-clip:text;-webkit-background-clip:text;font-size:12px;line-height:28px;font-style:normal;font-weight:400}.dialog-linear-gradient-modal-fk .el-dialog.dialog-linear-gradient-fk .el-dialog__footer .gradient-button:hover .gradient-button_hover{transition:all .2s}.dialog-linear-gradient-modal-fk .el-dialog.dialog-linear-gradient-fk .el-dialog__footer .gradient-button:hover .gradient-button_hover .gradient-button_inner span{-webkit-text-fill-color:#6d5ffd;color:#6d5ffd;background:transparent}.dialog-linear-gradient-modal-fk .el-dialog.dialog-linear-gradient-fk .el-dialog__footer .gradient-button.primary{background:linear-gradient(115.24deg,#bb89fa 2.14%,#635bff 96.77%);border:none}.dialog-linear-gradient-modal-fk .el-dialog.dialog-linear-gradient-fk .el-dialog__footer .gradient-button.primary .gradient-button_hover .gradient-button_inner{background-color:transparent}.dialog-linear-gradient-modal-fk .el-dialog.dialog-linear-gradient-fk .el-dialog__footer .gradient-button.primary .gradient-button_hover .gradient-button_inner span,.dialog-linear-gradient-modal-fk .el-dialog.dialog-linear-gradient-fk .el-dialog__footer .gradient-button.primary:hover .gradient-button_hover .gradient-button_inner span{-webkit-text-fill-color:#fff;color:#fff;background:transparent}.chat-doc_upload-button-pro[data-v-8a6a5e82]{position:relative;z-index:2;background-color:#fff;padding:10px;height:100%;border-radius:12px 12px 0 0}.chat-doc_upload-button-pro[data-v-8a6a5e82]:after{content:"";position:absolute;bottom:0;left:10px;width:calc(100% - 20px);height:1px;background:#f2f2f5}.chat-doc_upload-button-pro button[data-v-8a6a5e82]{width:max-content;max-width:50%;font-size:14px;height:28px;background-color:#fff;border:1px solid #E8E8F0;box-shadow:0 0 8px #725dc724;border-radius:4px;color:#6d5ffd;font-weight:500;text-align:center;display:flex;column-gap:4px;padding:0 8px;align-items:center;box-sizing:border-box;overflow:hidden}.chat-doc_upload-button-pro button.disable .doc-name[data-v-8a6a5e82]{cursor:not-allowed}.chat-doc_upload-button-pro button .doc-name[data-v-8a6a5e82]{flex:1;text-align:left;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;line-height:1;color:#000;cursor:pointer;font-size:12px;font-weight:400}.chat-doc_upload-button-pro button .icon-close[data-v-8a6a5e82]{padding-left:4px;box-sizing:border-box;color:#999aaa;font-size:12px;font-style:normal;font-weight:400;cursor:pointer;line-height:1}.chat-doc_upload-button-pro button .icon-close[data-v-8a6a5e82]:hover{color:#555666}.chat-doc_upload-button-pro button .doc-icon[data-v-8a6a5e82]{width:18px;height:18px;text-align:center}.chat-doc_upload-button-pro[data-v-a088d3d5]{position:relative;z-index:2;background-color:#fff;padding:10px;height:100%;border-radius:12px 12px 0 0}.chat-doc_upload-button-pro[data-v-a088d3d5]:after{content:"";position:absolute;bottom:0;left:10px;width:calc(100% - 20px);height:1px;background:#f2f2f5}.chat-doc_upload-button-pro button[data-v-a088d3d5]{width:max-content;max-width:50%;font-size:14px;height:24px;background-color:#6d5ffd0d;border:1px dashed rgba(109,95,253,.4);border-radius:4px;color:#6d5ffd;font-weight:500;text-align:center;display:flex;column-gap:4px;padding:0 6px 0 10px;align-items:center;box-sizing:border-box;cursor:pointer;overflow:hidden}.chat-doc_upload-button-pro button .doc-name[data-v-a088d3d5]{flex:1;text-align:left;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.chat-doc_upload-button-pro button .icon-close[data-v-a088d3d5]{padding:4px;line-height:10px;box-sizing:border-box}.chat-doc_upload-button-pro button .doc-icon[data-v-a088d3d5]{width:18px;height:18px;text-align:center}.c-input-top button img.doc-icon[data-v-e98b4850]{width:16px;height:16px}#app .so-list-detail .main{overflow:inherit}.c-menu-fold{position:absolute;top:0;left:-32px;display:flex;width:32px;height:32px;padding:4px;justify-content:center;align-items:center;border-radius:15px 0 0 15px;background:#edeef7;cursor:pointer}.el-checkbox-group{font-size:0;line-height:0}.chat-search-feedback-popup-content[data-v-1fc11454]{padding:24px}.chat-search-feedback-popup-content-title[data-v-1fc11454]{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.chat-search-feedback-popup-content-title span[data-v-1fc11454]{color:#222226;font-size:16px;font-weight:600;line-height:24px}.chat-search-feedback-popup-content-title img[data-v-1fc11454]{cursor:pointer;width:16px;height:16px}.chat-search-feedback-popup-content-checkbox[data-v-1fc11454]{margin-bottom:24px}.chat-search-feedback-popup-content-checkbox .checkbox-item[data-v-1fc11454]{display:flex;align-items:center;padding:6px 0;margin:8px 0}.chat-search-feedback-popup-content-checkbox .checkbox-item[data-v-1fc11454]:first-child{margin-top:0;padding-top:0}.chat-search-feedback-popup-content-checkbox .checkbox-item[data-v-1fc11454]:last-child{margin-bottom:0;padding-bottom:0}.chat-search-feedback-popup-content-checkbox .checkbox-item[data-v-1fc11454] .van-icon{border-radius:4px}.chat-search-feedback-popup-content-checkbox .checkbox-item .checkbox-item—label[data-v-1fc11454]{color:#222226;font-size:14px;font-weight:400;line-height:22px}.chat-search-feedback-popup-content-textarea[data-v-1fc11454]{margin-bottom:24px;width:100%;border-radius:12px;background:#f2f2f5;height:80px;box-sizing:border-box;resize:none;border:none;padding:10px;font-size:14px;font-weight:400;color:#222226}.chat-search-feedback-popup-content-textarea[data-v-1fc11454]::placeholder{color:#999aaa;font-size:14px;font-weight:400}.chat-search-feedback-popup-content button[data-v-1fc11454]{width:112px;border:none;color:#fff;padding:10px 0;height:40px;justify-content:center;align-items:center;border-radius:20px;background:#6d5ffd;transition:all .2s}.chat-search-feedback-popup-content button.disabled[data-v-1fc11454]{cursor:not-allowed;background:#6d5ffd66}.chat-search-feedback-popup-content button[data-v-1fc11454]:not(.disabled):active{background:#6d5ffdf2}.chat-search-feedback-popup-content .btn-cancel[data-v-1fc11454]{background:#fff;color:#555666;border:1px solid #CCCCD8;margin-right:12px}.chat-search-feedback-popup[data-v-50742eb8]{--van-popup-round-radius: 12px}.chat-search-feedback-popup[data-v-50742eb8] .el-dialog .el-dialog__header{display:none}.chat-search-feedback-popup[data-v-50742eb8] .el-dialog .el-dialog__body{padding:0!important}@media screen and (min-width: 769px){.scroll-bar-style[data-v-92d5ddb4]:hover::-webkit-scrollbar-thumb,.new-version-dialog .content ul[data-v-92d5ddb4]:hover::-webkit-scrollbar-thumb{box-shadow:inset 0 0 5px #0000001a;background:#f7f7fc}.scroll-bar-style[data-v-92d5ddb4]::-webkit-scrollbar,.new-version-dialog .content ul[data-v-92d5ddb4]::-webkit-scrollbar{width:5px;height:5px}.scroll-bar-style[data-v-92d5ddb4]::-webkit-scrollbar-thumb,.new-version-dialog .content ul[data-v-92d5ddb4]::-webkit-scrollbar-thumb{border-radius:10px;box-shadow:inset 0 0 5px #0000;background:#0000}.scroll-bar-style[data-v-92d5ddb4]::-webkit-scrollbar-track,.new-version-dialog .content ul[data-v-92d5ddb4]::-webkit-scrollbar-track{border-radius:10px;background:#0000}}.new-version-dialog[data-v-92d5ddb4]{position:absolute;background:#00000026;width:100%;height:100%;top:0;left:0;z-index:99;display:flex;justify-content:center;align-items:center}.new-version-dialog .content[data-v-92d5ddb4]{width:640px;height:380px;transform:translateY(-10%);background:#fff url(https://cdn-static-devbit.csdn.net/ai100/chat/imgs/new-version-bg.png) right/contain no-repeat;padding:24px;box-sizing:border-box;border-radius:12px;overflow:hidden}.new-version-dialog .content h1[data-v-92d5ddb4]{font-size:24px;margin:0;color:var(--color-text-primary);display:flex;justify-content:space-between;align-items:flex-start;font-weight:700}.new-version-dialog .content h1 .icon-close[data-v-92d5ddb4]{color:#c4c4c8;font-size:24px;font-weight:400;cursor:pointer}.new-version-dialog .content h2[data-v-92d5ddb4]{font-size:18px;margin:40px 0 24px;font-weight:700;color:var(--color-text-content)}.new-version-dialog .content ul[data-v-92d5ddb4]{font-size:14px;width:260px;height:144px;overflow-y:auto;display:flex;flex-direction:column;row-gap:8px;list-style:decimal;color:var(--color-text-content)}.new-version-dialog .content ul .note-index[data-v-92d5ddb4]{display:inline-block;width:24px}.new-version-dialog .content .button[data-v-92d5ddb4]{font-size:14px;width:146px;height:42px;font-weight:400;line-height:42px;border-radius:42px;display:block;cursor:pointer;text-align:center;box-sizing:border-box;background:#6d5ffd;color:#fff;margin-top:24px}.role-card[data-v-9279235b]{width:160px;height:258px;background:#f8f8f8;border-radius:8px;overflow:hidden;border:1px solid #f2f2f5;box-sizing:border-box;position:relative}.role-card:hover .mask[data-v-9279235b]{opacity:1}.role-card .mask[data-v-9279235b]{position:absolute;top:0;left:0;width:100%;height:100%;background:#0000004d;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;opacity:0;transition:opacity .3s;z-index:9}.role-card .mask .use-button[data-v-9279235b]{width:96px;height:36px;line-height:36px;color:#fff;font-size:12px;text-align:center;background:#6d5ffd;border-radius:20px;cursor:pointer;font-weight:500}.role-card .mask .use-button.vip[data-v-9279235b]{background:linear-gradient(140.62deg,#e2b1ff 5.23%,#6e60fd 97.15%)}.role-card .role-avatar[data-v-9279235b]{width:160px;height:160px}.role-card .role-star[data-v-9279235b]{width:32px;height:32px;position:absolute;top:0;right:0;z-index:8}.role-card .role-info[data-v-9279235b]{font-size:12px;color:var(--color-text-desc);padding:8px 12px;box-sizing:border-box}.role-card .role-info .role-title[data-v-9279235b]{font-weight:600;font-size:16px;height:22px;line-height:22px;color:var(--color-text-primary)}.role-card .role-info .role-desc[data-v-9279235b]{display:-webkit-box;-webkit-line-clamp:2;overflow:hidden;text-overflow:ellipsis;-webkit-box-orient:vertical;margin:4px 0 8px;min-height:32px}.role-card .role-info .role-data[data-v-9279235b]{display:flex;justify-content:space-between;align-items:center}.role-card .role-info .role-data span[data-v-9279235b]{display:flex;align-items:center;column-gap:4px}@media screen and (min-width: 769px){.scroll-bar-style[data-v-86b9eff2]:hover::-webkit-scrollbar-thumb,.directive-center[data-v-86b9eff2]:hover::-webkit-scrollbar-thumb{box-shadow:inset 0 0 5px #0000001a;background:#f7f7fc}.scroll-bar-style[data-v-86b9eff2]::-webkit-scrollbar,.directive-center[data-v-86b9eff2]::-webkit-scrollbar{width:5px;height:5px}.scroll-bar-style[data-v-86b9eff2]::-webkit-scrollbar-thumb,.directive-center[data-v-86b9eff2]::-webkit-scrollbar-thumb{border-radius:10px;box-shadow:inset 0 0 5px #0000;background:#0000}.scroll-bar-style[data-v-86b9eff2]::-webkit-scrollbar-track,.directive-center[data-v-86b9eff2]::-webkit-scrollbar-track{border-radius:10px;background:#0000}}.ske[data-v-86b9eff2]{display:flex;gap:16px;height:258px}.ske .ske-item[data-v-86b9eff2]{flex:1;height:100%}.ske-2[data-v-86b9eff2]{display:grid;grid-template-columns:repeat(3,33.33%);grid-template-rows:repeat(3,33.33%);grid-row-gap:15px;grid-column-gap:15px}.ske-2 .ske-2-item[data-v-86b9eff2]{height:108px}.directive-center[data-v-86b9eff2]{overflow-x:hidden;overflow-y:auto;height:calc(100% - 25px);background:linear-gradient(180deg,#fff,#fbfbfc,#fff 80%,#fafbff);border-radius:0 16px 16px 0}.directive-center .content[data-v-86b9eff2]{position:relative;box-sizing:border-box;padding:24px;width:1084px;margin:0 auto}.directive-center .content .roles[data-v-86b9eff2]{height:306px}.directive-center .content .roles:hover .arrow[data-v-86b9eff2]{opacity:1}.directive-center .content .roles+.title[data-v-86b9eff2]{margin-top:24px}.directive-center .title[data-v-86b9eff2]{font-size:16px;font-weight:600;height:40px;line-height:40px;color:var(--color-text-primary);margin-bottom:8px;padding-left:12px;box-sizing:border-box}.directive-center .arrow[data-v-86b9eff2]{position:absolute;top:182px;z-index:99;width:32px;height:32px;cursor:pointer;color:#f2f2f5;opacity:0;transition:opacity .3s}.directive-center .arrow.l[data-v-86b9eff2]{left:8px}.directive-center .arrow.r[data-v-86b9eff2]{right:8px}.directive-center .arrow.disabled[data-v-86b9eff2]{cursor:not-allowed;color:#f2f2f566}.directive-center .scroll-wrapper[data-v-86b9eff2]{width:100%;overflow:hidden;position:relative}.directive-center .role-list[data-v-86b9eff2]{display:flex;justify-content:space-between;width:max-content;column-gap:16px}.directive-center .directive-list[data-v-86b9eff2]{display:flex;flex-wrap:wrap;gap:16px}.directive-center .directive-list .directive-card[data-v-86b9eff2]{background:#f8f8f8}.tools-wrap[data-v-6c9cc989]{display:flex;flex-direction:column;width:100%;margin:0 auto;height:100%;overflow:hidden;height:calc(100% - 25px);background:#fff;border-radius:0 16px 16px 0}.ske-nav[data-v-6c9cc989]{height:44px;margin:24px auto 20px;max-width:1036px;width:100%}.ske[data-v-6c9cc989]{max-width:1036px;margin:0 auto;display:grid;grid-template-columns:repeat(4,24%);grid-row-gap:12px;grid-column-gap:15px;width:100%}.ske .ske-item[data-v-6c9cc989]{height:92px}.c-chat-floating-bubble-pc{position:absolute;background-color:transparent;line-height:0;right:38px;bottom:150px;z-index:100}.c-chat-floating-bubble-pc img{cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.c-chat-floating-bubble-pc .close-o{cursor:pointer;position:absolute;top:-10px;right:-16px;padding:4px;width:16px;height:16px;box-sizing:content-box;background-image:url();background-repeat:no-repeat;background-size:16px;background-position:50%}.c-chat-floating-bubble-pc .close-o:hover{opacity:.9}.search-hots{margin-top:24px}.search-hots.simple{margin-top:4px}.search-hots .hots-title{line-height:24px;display:flex;align-items:center;justify-content:space-between;color:var(--color-text-desc)}.search-hots .hots-title:active{opacity:.8}.search-hots .hots-title svg,.search-hots .hots-title span{cursor:pointer;vertical-align:middle}.search-hots .hots-title a{color:var(--color-text-active)}.search-hots .hots-title a:hover{color:#3d3ad1;font-weight:600}.search-hots .icon-refresh{transition:transform .5s linear}.search-hots .hots-list{margin-top:12px;display:flex;flex-wrap:wrap;justify-content:space-between}.search-hots .hots-list:after{content:"";width:calc((100% - 32px) / 3);height:0}.search-hots .hots-list .hot{margin-bottom:14px;width:calc((100% - 32px) / 3);cursor:pointer}.search-hots .hots-list .hot .hot-item{padding:12px 10px;border-radius:8px;box-shadow:4px 4px 12px var(--color-box-shadow);color:var(--color-text-content);display:flex;justify-content:space-between;align-items:center}.search-hots .hots-list .hot .hot-item:hover,.search-hots .hots-list .hot .hot-item:hover .icon-arrow-right{color:var(--color-text-active)}.search-hots .hots-list .hot .hot-item .hot-title{flex:1}.simple .hots-list{column-count:3!important}@media screen and (min-width: 769px){.scroll-bar-style[data-v-09275e6d]:hover::-webkit-scrollbar-thumb,.input-search .input-text[data-v-09275e6d] .textarea textarea:hover::-webkit-scrollbar-thumb{box-shadow:inset 0 0 5px #0000001a;background:#f7f7fc}.scroll-bar-style[data-v-09275e6d]::-webkit-scrollbar,.input-search .input-text[data-v-09275e6d] .textarea textarea::-webkit-scrollbar{width:5px;height:5px}.scroll-bar-style[data-v-09275e6d]::-webkit-scrollbar-thumb,.input-search .input-text[data-v-09275e6d] .textarea textarea::-webkit-scrollbar-thumb{border-radius:10px;box-shadow:inset 0 0 5px #0000;background:#0000}.scroll-bar-style[data-v-09275e6d]::-webkit-scrollbar-track,.input-search .input-text[data-v-09275e6d] .textarea textarea::-webkit-scrollbar-track{border-radius:10px;background:#0000}}.input-search[data-v-09275e6d]{position:relative;width:100%;z-index:99;margin:40px auto 16px}.input-search.simple[data-v-09275e6d]{margin-top:18px}.input-search .chat-input-main[data-v-09275e6d]{position:relative;border:2px solid var(--color-input-border);background:linear-gradient(#fff,#fff) padding-box,linear-gradient(to bottom right,#6794f5,#9003ff) border-box;border-radius:24px;overflow:hidden;z-index:99;box-shadow:4px 8px 25px #a09cc726}.input-search .chat-input-main[data-v-09275e6d]:before{display:block;content:"";position:absolute;top:-38px;left:-1px;right:-1px;height:38px;pointer-events:none;background:linear-gradient(0deg,#fffc,#fff3 60%,#fff0)}.input-search .chat-input-main .deepseek-switch-container[data-v-09275e6d]{position:absolute;bottom:16px;left:16px;z-index:10}.input-search .input-text[data-v-09275e6d]{display:flex;flex-direction:column;border-radius:0 0 16px 16px;overflow:hidden;position:relative}.input-search .input-text .input-right[data-v-09275e6d]{z-index:2;flex:1;background-color:#fff;border-radius:0;position:relative}.input-search .input-text[data-v-09275e6d] .textarea{overflow:hidden;flex:1;background:#fff;z-index:2;display:flex;flex-direction:column;padding-right:40px}.input-search .input-text[data-v-09275e6d] .textarea.simple{height:115px;flex:unset}.input-search .input-text[data-v-09275e6d] .textarea textarea{padding:16px 8px 55px 20px;position:relative;background-color:transparent;box-shadow:none;border:none;resize:none;line-height:28px;box-sizing:border-box}.input-search .input-text[data-v-09275e6d] .textarea.is-disabled ::v-deep(textarea){background-color:var(--el-disabled-bg-color)}.input-search .input-text .c-icon[data-v-09275e6d]{position:absolute;bottom:16px;right:16px;width:28px;height:28px;display:flex;justify-content:center;align-items:center;z-index:3}.input-search .input-text .c-icon .icon-send[data-v-09275e6d]{width:100%;height:100%;outline-color:transparent;--color-start: #bb89fa;--color-stop: #635bff}.input-search .input-text .c-icon .icon-send.disabled[data-v-09275e6d]{--color-start: #c4c6fb;--color-stop: #c4c6fb;cursor:not-allowed}@keyframes dot-scale-baed283e{0%,to{width:10px;height:10px}50%{width:6px;height:6px}}.chat-search-loading-icon[data-v-baed283e]{width:40px;height:28px;border-radius:8px;position:relative;background:linear-gradient(141deg,#6794f5 16.67%,#9003ff 85%)}.chat-search-loading-icon .dot[data-v-baed283e]{background:#fff;border-radius:50%;position:absolute;top:50%;left:50%}.chat-search-loading-icon .dot[data-v-baed283e]:first-child{width:10px;height:10px;transform:translate(calc(-50% - 4.5px),-50%);animation:dot-scale-baed283e .9s linear infinite}.chat-search-loading-icon .dot[data-v-baed283e]:last-child{width:6px;height:6px;transform:translate(calc(-50% + 4.5px),-50%);animation:dot-scale-baed283e .9s linear infinite;animation-delay:.45s}@media screen and (min-width: 769px){.scroll-bar-style[data-v-fe5db876]:hover::-webkit-scrollbar-thumb,.input-bar .input-text[data-v-fe5db876] .textarea textarea:hover::-webkit-scrollbar-thumb{box-shadow:inset 0 0 5px #0000001a;background:#f7f7fc}.scroll-bar-style[data-v-fe5db876]::-webkit-scrollbar,.input-bar .input-text[data-v-fe5db876] .textarea textarea::-webkit-scrollbar{width:5px;height:5px}.scroll-bar-style[data-v-fe5db876]::-webkit-scrollbar-thumb,.input-bar .input-text[data-v-fe5db876] .textarea textarea::-webkit-scrollbar-thumb{border-radius:10px;box-shadow:inset 0 0 5px #0000;background:#0000}.scroll-bar-style[data-v-fe5db876]::-webkit-scrollbar-track,.input-bar .input-text[data-v-fe5db876] .textarea textarea::-webkit-scrollbar-track{border-radius:10px;background:#0000}}@keyframes border-animate-fe5db876{0%,10%{background:linear-gradient(to bottom right,#6794f5,#9003ff)}15%{background:linear-gradient(to bottom,#6794f5,#9003ff)}20%{background:linear-gradient(to bottom left,#6794f5,#9003ff)}30%{background:linear-gradient(to left,#6794f5,#9003ff)}40%{background:linear-gradient(to left top,#6794f5,#9003ff)}50%{background:linear-gradient(to left top,#6794f5,#9003ff)}60%{background:linear-gradient(to left top,#6794f5,#9003ff)}70%{background:linear-gradient(to left,#6794f5,#9003ff)}80%{background:linear-gradient(to bottom left,#6794f5,#9003ff)}85%{background:linear-gradient(to bottom,#6794f5,#9003ff)}90%,to{background:linear-gradient(to bottom right,#6794f5,#9003ff)}}.input-bar[data-v-fe5db876]{position:relative;margin:-58px auto 0;width:100%;z-index:99}.input-bar .deepseek-container[data-v-fe5db876]{position:absolute;top:-47px}.input-bar .chat-input-main[data-v-fe5db876]{position:relative;border:1px solid var(--color-input-border);background:var(--3ee635ad);border-radius:16px;overflow:hidden;z-index:99}.input-bar .chat-input-main[data-v-fe5db876]:hover{box-shadow:0 4px 12px #a09cc733}.input-bar .chat-input-main[data-v-fe5db876]:before{display:block;content:" ";position:absolute;top:-38px;left:-1px;right:-1px;height:38px;pointer-events:none;background:linear-gradient(0deg,#fffc,#fff3 60%,#fff0)}.input-bar .input-text[data-v-fe5db876]{display:flex;flex-direction:column;border-radius:0 0 16px 16px;overflow:hidden;position:relative}.input-bar .input-text .input-right[data-v-fe5db876]{z-index:2;flex:1;background-color:#fff;border-radius:0;position:relative}.input-bar .input-text .chat-doc_upload-button-pro+.input-right[data-v-fe5db876]{border-radius:0 12px 12px 0}.input-bar .input-text .chat-doc_upload-button-pro+.input-right[data-v-fe5db876] textarea{border-radius:0}.input-bar .input-text[data-v-fe5db876] .textarea{border-radius:var(--7b8ec1ba);overflow:hidden;flex:1;background:#fff;z-index:2;display:flex;flex-direction:column;padding-right:40px}.input-bar .input-text[data-v-fe5db876] .textarea textarea{padding:10px 8px 10px 10px;position:relative;background-color:transparent;box-shadow:none;border:none;resize:none;line-height:28px}.input-bar .input-text[data-v-fe5db876] .textarea.is-disabled ::v-deep(textarea){background-color:var(--el-disabled-bg-color)}.input-bar .input-text .c-icon[data-v-fe5db876]{position:absolute;bottom:5px;right:10px;width:38px;height:38px;display:flex;justify-content:center;align-items:center;z-index:3}.input-bar .input-text .c-icon .icon-send[data-v-fe5db876]{width:28px;height:28px;outline:none;--color-start: #bb89fa;--color-stop: #635bff}.input-bar .input-text .c-icon .icon-send.disabled[data-v-fe5db876]{--color-start: #c4c6fb;--color-stop: #c4c6fb;cursor:not-allowed}.input-bar .input-text .c-icon .icon-pause[data-v-fe5db876]{width:28px;height:28px}.input-bar .input-text .c-icon svg[data-v-fe5db876]{width:100%;height:100%}.input-bar .input-text .icon-input-open[data-v-fe5db876]{position:absolute;top:10px;right:10px;z-index:3;width:20px;cursor:pointer}@keyframes CircleRotate-a5351b7f{0%{transform:rotate(0)}0%{transform:rotate(-360deg)}}.step-progress-container[data-v-a5351b7f]{padding:0 12px 23px;font-size:14px;position:relative;display:flex;align-items:center}.step-progress-container-checker[data-v-a5351b7f]{flex:1;display:flex;align-items:flex-start}.step-progress-container-checker_wrap[data-v-a5351b7f]{padding-bottom:6px;position:relative;display:flex;align-items:center;flex-direction:column;justify-content:center}.step-progress-container-checker_wrap .step-progress_icon[data-v-a5351b7f]{width:26px;height:26px}.step-progress-container-checker_wrap .step-progress_icon .progress-icon_finish[data-v-a5351b7f]{line-height:0}.step-progress-container-checker_wrap .step-progress_icon .progress-icon_circle[data-v-a5351b7f]{position:relative;width:100%;height:100%;-webkit-user-select:none;user-select:none}.step-progress-container-checker_wrap .step-progress_icon .progress-icon_circle svg[data-v-a5351b7f]{position:absolute;left:1px;top:1px;animation:CircleRotate-a5351b7f .6s linear infinite}.step-progress-container-checker_wrap .step-progress_icon .progress-icon_circle span[data-v-a5351b7f]{color:#8f8fa6;font-family:PingFang SC;font-size:12px;font-weight:400;line-height:26px;text-align:center;display:inline-block;width:100%}.step-progress-container-checker_wrap .step-progress_tip[data-v-a5351b7f]{position:absolute;color:#555666;font-family:PingFang SC;font-size:14px;font-style:normal;font-weight:400;-webkit-user-select:none;user-select:none;line-height:23px;top:100%;white-space:nowrap}.step-progress-container-checker_line[data-v-a5351b7f]{margin:12px 12px 0;height:2px;flex:1;-webkit-user-select:none;user-select:none;background-color:#f1f1f8;position:relative}.step-progress-container-checker_line[data-v-a5351b7f]:after{content:"";position:absolute;top:0;left:0;height:100%;width:0;transition:all .5s;background-color:#574ff5}.step-progress-container-checker_line.active[data-v-a5351b7f]:after{width:100%}.step-progress-container-checker[data-v-a5351b7f]:last-child{flex-grow:0}.step-progress.skeleton .step-progress_icon[data-v-a5351b7f]{position:relative;margin-bottom:6px;background-color:#f1f1f8;border-radius:50%}.step-progress.skeleton .step-progress_icon [class^=progress-icon][data-v-a5351b7f]{display:none}.step-progress.skeleton .step-progress_icon[data-v-a5351b7f]:after{position:absolute}.step-progress.skeleton .step-progress_tip span[data-v-a5351b7f]{display:none}.step-progress.skeleton .step-progress_tip[data-v-a5351b7f]:after{content:"";display:block;width:80px;height:23px;border-radius:4px;background-color:#f1f1f8}.step-progress.skeleton .step-progress-container-checker_line[data-v-a5351b7f]{background-color:#f1f1f8!important}.search-reference-title[data-v-1064fbb4]{margin-bottom:16px;display:flex;align-items:center}.search-reference-title span[data-v-1064fbb4]{margin-left:8px;line-height:22px;font-weight:600;font-size:16px}.search-reference-container[data-v-1064fbb4]{display:block;position:relative}.search-reference-container—prev[data-v-1064fbb4],.search-reference-container-next[data-v-1064fbb4]{position:absolute;-webkit-user-select:none;user-select:none;z-index:1;top:50%;transform:translateY(-50%);width:29px;height:29px;border:1px solid #f1f1f8;text-align:center;line-height:28px;font-size:0;border-radius:50%;cursor:pointer;background-color:#fff;box-shadow:0 4px 14px #00000014}.search-reference-container—prev .svg-icon[data-v-1064fbb4],.search-reference-container-next .svg-icon[data-v-1064fbb4]{display:inline-block;vertical-align:middle}.search-reference-container—prev[data-v-1064fbb4]:hover,.search-reference-container-next[data-v-1064fbb4]:hover{background-color:#f9f9fb}.search-reference-container—prev[data-v-1064fbb4]{left:-14px}.search-reference-container-next[data-v-1064fbb4]{right:-14px}.search-reference-container—scrollview[data-v-1064fbb4]{overflow:hidden}.search-reference-container—scrollview .ske[data-v-1064fbb4]{display:flex;flex-wrap:nowrap}.search-reference-container—scrollview .ske .ske-item[data-v-1064fbb4]{width:287px;padding:14px 12px;margin-right:8px;border-radius:12px;border:1px solid #E3E3EE;background:#fff}.search-reference-container—scrollview .ske .ske-item[data-v-1064fbb4]:last-child{margin-right:0}.search-reference-container—scrollview .ske .ske-item .ske-item-title[data-v-1064fbb4]{display:flex;align-items:center;margin-bottom:4px}.search-reference-container—scrollview .ske .ske-item .ske-item-title .avatar[data-v-1064fbb4]{width:20px;height:20px;margin-right:4px;flex-shrink:0}.search-reference-container—scrollview .ske .ske-item .ske-item-title .tit[data-v-1064fbb4]{height:16px}.search-reference-container—scrollview .ske .ske-item .desc[data-v-1064fbb4]{height:12px}.search-reference-container—scrollview .ske .ske-item .desc[data-v-1064fbb4]:nth-child(2n-1){width:70%}.search-reference-container—scrollview .ske .ske-item .ske-item-link[data-v-1064fbb4]{display:flex;align-items:center;margin-top:4px}.search-reference-container—scrollview .ske .ske-item .ske-item-link .avatar[data-v-1064fbb4]{width:16px;height:16px;flex-shrink:0;margin-right:4px}.search-reference-container—scrollview .ske .ske-item .ske-item-link .tit[data-v-1064fbb4]{width:30%;height:16px}.search-reference-container—scrollview .search-reference-inner[data-v-1064fbb4]{display:flex;flex-wrap:nowrap;width:max-content}.search-reference-container—scrollview .search-reference-inner .search-reference-item[data-v-1064fbb4]{display:inline-block;width:287px;border-radius:12px;border:1px solid #e3e3ee;padding:14px 12px;flex-direction:column;margin-right:8px;transition:all .2s}.search-reference-container—scrollview .search-reference-inner .search-reference-item[data-v-1064fbb4]:hover{cursor:pointer;background-color:#fafafc}.search-reference-container—scrollview .search-reference-inner .search-reference-item[data-v-1064fbb4]:last-child{margin-right:0}.search-reference-container—scrollview .search-reference-inner .search-reference-item_title[data-v-1064fbb4]{display:flex;align-items:center;overflow:hidden;margin-bottom:4px}.search-reference-container—scrollview .search-reference-inner .search-reference-item_title .num[data-v-1064fbb4]{flex-shrink:0;-webkit-user-select:none;user-select:none;width:20px;height:20px;line-height:20px;background-color:#f3f0fe;color:#574ff5;display:inline-block;font-size:12px;border-radius:50%;text-align:center;margin-right:4px}.search-reference-container—scrollview .search-reference-inner .search-reference-item_title .tit[data-v-1064fbb4]{flex:1;font-size:14px;-webkit-user-select:none;user-select:none;font-weight:600;line-height:20px;color:#222226;overflow:hidden;word-break:break-all;white-space:nowrap;text-overflow:ellipsis}.search-reference-container—scrollview .search-reference-inner .search-reference-item_desc[data-v-1064fbb4]{margin-bottom:4px;font-size:12px;-webkit-user-select:none;user-select:none;font-weight:400;line-height:16px;color:#999aaa;display:-webkit-box;-webkit-line-clamp:2;overflow:hidden;text-overflow:ellipsis;-webkit-box-orient:vertical}.search-reference-container—scrollview .search-reference-inner .search-reference-item_icon[data-v-1064fbb4]{display:flex;align-items:center}.search-reference-container—scrollview .search-reference-inner .search-reference-item_icon img[data-v-1064fbb4]{width:16px;height:16px;border-radius:50%}.search-reference-container—scrollview .search-reference-inner .search-reference-item_icon span[data-v-1064fbb4]{line-height:16px;font-weight:400;color:#555666;font-size:12px;margin-left:4px}.related-question-title[data-v-3ea3fe5d]{margin-bottom:16px;display:flex;align-items:center}.related-question-title span[data-v-3ea3fe5d]{margin-left:8px;line-height:22px;font-weight:600;font-size:16px}.related-question-container[data-v-3ea3fe5d]{margin-top:16px}.related-question-container ul li[data-v-3ea3fe5d]{display:flex;margin-bottom:10px;align-items:center}.related-question-container ul li div[data-v-3ea3fe5d]{display:flex;align-items:center;border-radius:12px;height:40px;background:#f9f9fb;padding:0 10px 0 15px;cursor:pointer}.related-question-container ul li div.disabled[data-v-3ea3fe5d]{cursor:not-allowed}.related-question-container ul li div span[data-v-3ea3fe5d]{color:#555666;font-family:PingFang SC;font-size:14px;font-style:normal;font-weight:400;line-height:normal}.related-question-container ul li div:hover span[data-v-3ea3fe5d]{color:#574ff5}.related-question-container ul li[data-v-3ea3fe5d]:last-child{margin-bottom:0}.related-question .ske[data-v-3ea3fe5d]{display:flex;flex-direction:column}.related-question .ske .desc[data-v-3ea3fe5d]{height:20px;margin-bottom:10px}.related-question .ske .desc[data-v-3ea3fe5d]:last-child{margin-bottom:0}.related-question .ske .desc[data-v-3ea3fe5d]:nth-child(1){width:30%}.related-question .ske .desc[data-v-3ea3fe5d]:nth-child(2){width:39%}.related-question .ske .desc[data-v-3ea3fe5d]:nth-child(3){width:50%}.related-question .ske .desc[data-v-3ea3fe5d]:nth-child(4){width:50%}.ai-search-item .define-content{justify-content:center}.ai-search-item .define-content .padding-14{padding:14px}.ai-search-item .define-content .has-bg{background:#f9f9fb}.ai-search-item .define-content .radius-8{border-radius:8px}.ai-search-item .define-content .vip-btn{background:linear-gradient(115.24deg,#bb89fa 2.14%,#635bff 96.77%)}.ai-search-item .ai-search-title{padding:24px 0 0;margin:-24px 0 0;line-height:45px;font-size:32px;font-weight:400}.ai-search-item-markdown{font-size:15px}.ai-search-item-name{margin-top:30px;margin-bottom:16px;line-height:24px;font-size:16px;font-weight:600}.ai-search-item-name svg{width:24px;height:24px;vertical-align:middle}.ai-search-item-name span{margin-left:8px}.ai-search-item-end{color:#999aaa;font-size:12px;line-height:23px;text-align:center}.ai-search-item-mind{position:relative;height:160px;background:url(//cdn-static-devbit.csdn.net/ai100/chat/imgs/hold-mind.png?t=1);background-size:cover}.ai-search-item-mind.generate{background:none}.ai-search-item-feedback{display:flex;justify-content:flex-end}.ai-search-item-feedback .chat-feedback{background-color:transparent}.ai-search-items[data-v-9cf7f622]{position:relative}.ai-search-items[data-v-9cf7f622]:before,.ai-search-items[data-v-9cf7f622]:after{left:0;content:"";display:block;width:100%;position:absolute;z-index:1}.ai-search-items[data-v-9cf7f622]:before{top:0;height:32px;background:linear-gradient(180deg,#fff 10%,#0000)}.ai-search-items[data-v-9cf7f622]:after{bottom:0;height:16px;background:linear-gradient(0deg,#fff,#0000)}.ai-search-items .ai-search-scroll[data-v-9cf7f622]{height:100%;padding:34px calc((100% - 910px)/2) 48px;margin:0 16px}.ai-search-items .ai-search-scroll .record-item[data-v-9cf7f622]{margin-bottom:32px}.ai-search-items .ai-search-scroll .record-item[data-v-9cf7f622]:last-child{margin-bottom:0}.ai-search-items .ai-search-scroll .ai-search-answer-checkhit[data-v-9cf7f622]{width:100%;display:flex}.next-line[data-v-9cf7f622]{margin:30px 0;border-bottom:1px solid #eaecf0}#chat-ai-search{height:100%;display:flex;flex-direction:column;overflow:hidden}#chat-ai-search .ai-search-panel{background:#fff;border-radius:0 10px 10px 0;min-height:1px;flex:1;overflow:hidden}#chat-ai-search .ai-search-panel.simple .ai-search-default-page{padding-top:24px}#chat-ai-search .ai-search-panel .ai-search-default-page{height:100%;margin:0 16px;display:flex;align-items:center;padding-top:30px}#chat-ai-search .ai-search-panel .ai-search-default-page .welcome{padding-bottom:0}#chat-ai-search .ai-search-panel .ai-search-main{width:100%;height:100%;margin:0 auto;overflow:hidden;display:flex;flex-direction:column}#chat-ai-search .ai-search-panel .ai-search-main .ai-search-items{min-width:0;height:0;flex:1}#chat-ai-search .ai-search-panel .ai-search-main .ai-search-input-bar{padding:16px calc((100% - 878px)/2)}#chat-ai-search .ai-search-panel .ai-search-main .ai-search-input-bar .input-bar{margin-top:0}#chat-ai-search .reference-em{background-color:#f3f0fe;color:#574ff5}#btnChatMove{position:absolute;border:none;background-color:transparent;display:flex;align-items:center;top:50%;left:0;transform:translate(-50%,-50%);height:100px;cursor:col-resize;z-index:2003}#btnChatMove img{width:24px}.chat-room{height:100%}.katex{text-rendering:auto;font:normal 1.21em,Times New Roman,serif;line-height:1.2;text-indent:0}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.16.4"}.katex .katex-mathml{clip:rect(1px,1px,1px,1px);border:0;height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:-webkit-min-content;width:-moz-min-content;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.root{margin-left:.27777778em;margin-right:-.55555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.83333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.16666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.33333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.66666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.45666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.14666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.71428571em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.85714286em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.14285714em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.28571429em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.42857143em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.71428571em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.05714286em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.46857143em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.96285714em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.55428571em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.55555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.66666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.77777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.88888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.11111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.33333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.30444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.76444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.41666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.58333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.66666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.83333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.72833333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.07333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.34722222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.41666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.48611111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.55555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.69444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.83333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.44027778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.72777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.28935185em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.34722222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.40509259em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.46296296em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.52083333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.69444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.83333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.20023148em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.43981481em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.24108004em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.28929605em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.33751205em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.38572806em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.43394407em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.48216008em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.57859209em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.69431051em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.83317261em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.19961427em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.20096463em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.24115756em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.28135048em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.32154341em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.36173633em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.40192926em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.48231511em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.57877814em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.69453376em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.83360129em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}.el-checkbox{--el-checkbox-checked-icon-color: #6d5ffd;--el-checkbox-checked-input-border-color: #6d5ffd;--el-checkbox-input-border-color-hover: #6d5ffd;--el-checkbox-checked-bg-color: #fff}.el-checkbox__input.is-checked .el-checkbox__inner{border-color:var(--el-checkbox-input-border-color-hover)}.el-popper{--el-popper-border-radius: var(--el-popover-border-radius, 12px)}.el-scrollbar{border-radius:12px}:root{--el-box-shadow-light: 0px 2px 10px 0px rgba(0, 0, 0, .1);--el-color-primary: #6d5ffd}.el-button{--el-button-hover-text-color: #fff}.el-button--primary,:hover{--el-button-hover-bg-color: #6d5ffd;--el-button-hover-border-color: #6d5ffd;--el-button-active-bg-color: #6d5ffd;--el-button-active-border-color: #6d5ffd}.el-button:hover{color:var(--el-button-text-color);border-color:var(--el-border-color);background-color:inherit;outline:0}.el-button--primary:hover{color:#fff;border-color:var(--el-button-hover-border-color);background-color:var(--el-button-hover-bg-color);outline:0}.el-button.is-round{padding-left:34px;padding-right:34px}.el-skeleton{--el-skeleton-color: rgba(0, 0, 0, .05)}.el-slider{--el-slider-button-wrapper-size: 22px;--el-slider-button-wrapper-offset: -8.5px}@media screen and (min-width: 769px){.scroll-bar-style:hover::-webkit-scrollbar-thumb{box-shadow:inset 0 0 5px #0000001a;background:#f7f7fc}.scroll-bar-style::-webkit-scrollbar{width:5px;height:5px}.scroll-bar-style::-webkit-scrollbar-thumb{border-radius:10px;box-shadow:inset 0 0 5px #0000;background:#0000}.scroll-bar-style::-webkit-scrollbar-track{border-radius:10px;background:#0000}}body{margin:0}*{box-sizing:border-box}.relative{position:relative}.flex{display:flex}.flex-1{flex:1;min-width:0;overflow:hidden}.gap-y-8,.gap-x-8{column-gap:8px}.gap-x-4{column-gap:4px}.font-16{font-size:16px}.align-item,.align-center{align-items:center}.justify-between{justify-content:space-between}.el-popper.el-popover.chat-footer-popover{width:320px!important;height:60px;border-radius:12px}.flex-center{display:flex;justify-content:center;align-items:center}.flex-center .list-content{min-height:auto!important}.inline-block{display:inline-block}#chat-pro{border-radius:2px}#chat-pro .em{display:inline-block;color:#fff;border-radius:50%;width:16px;height:16px;text-align:center;line-height:16px;font-size:12px;font-style:normal!important;background:var(--color-text-content);margin-left:3px}@media screen and (min-width: 769px){#chat-pro .fixheader{height:calc(100vh - 126px)}}@media screen and (max-width: 768px){#chat-pro .fixheader{min-height:100vh}}#chat-pro [disabled=true]{cursor:not-allowed}#chat-pro .line-2{word-break:break-all;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}#chat-pro .line{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media screen and (max-width: 768px){#chat-pro .m-hide{display:none!important}}@media screen and (min-width: 769px){#chat-pro .m-show{display:none!important}}@media screen and (max-width: 768px){#chat-pro .m-show{display:block!important}}#chat-pro .chat-toast-message{position:absolute;background:#00000080!important;border:none;opacity:1}#chat-pro .chat-toast-message .el-message__icon,#chat-pro .chat-toast-message .el-message__content{color:#fff}#chat-pro .el-overlay.is-message-box{position:absolute;background:#00000026}#chat-pro .el-overlay.is-message-box .el-overlay-message-box{position:absolute}#chat-pro .el-overlay.is-message-box .el-overlay-message-box .el-message-box{padding:24px;vertical-align:baseline}#chat-pro .el-overlay.is-message-box .el-overlay-message-box .el-message-box .el-message-box__header{width:100%;padding:0;font-size:18px;color:var(--color-text-primary);display:flex;align-items:center;justify-content:space-between}#chat-pro .el-overlay.is-message-box .el-overlay-message-box .el-message-box .el-message-box__header .el-message-box__headerbtn{position:static;height:20px;width:20px}#chat-pro .el-overlay.is-message-box .el-overlay-message-box .el-message-box .el-message-box__header .el-message-box__headerbtn .el-message-box__close{font-size:20px}#chat-pro .el-overlay.is-message-box .el-overlay-message-box .el-message-box .el-message-box__header .el-message-box__headerbtn .el-message-box__close:hover{color:var(--color-text-primary)}#chat-pro .el-overlay.is-message-box .el-overlay-message-box .el-message-box .el-message-box__content{font-size:14px;padding:18px 0;color:var(--color-text-primary)}#chat-pro .el-overlay.is-message-box .el-overlay-message-box .el-message-box .el-message-box__btns .el-button{width:96px;height:32px;border-radius:18px;border:1px solid #e8e8ed;color:#555666;font-size:14px;background:#fff;outline:none}#chat-pro .el-overlay.is-message-box .el-overlay-message-box .el-message-box .el-message-box__btns .el-button:hover{border:1px solid #999aaa}#chat-pro .el-overlay.is-message-box .el-overlay-message-box .el-message-box .el-message-box__btns .el-button.el-button--primary{background:#fc5531;border:none;color:#fff}#chat-pro .el-overlay.is-message-box .el-overlay-message-box .el-message-box .el-message-box__btns .el-button.el-button--primary:hover{background:#fc1944}.el-dialog{border-radius:8px;overflow:hidden}.el-dialog__headerbtn:hover .el-dialog__close{color:inherit}.flex-end{justify-content:flex-end}.el-overlay .el-dialog__header{background:#fff}.c-input-top{position:relative;z-index:2;background-color:#fff;padding:10px;height:100%;border-radius:16px 16px 0 0}.c-input-top:after{content:"";position:absolute;bottom:0;left:10px;width:calc(100% - 20px);height:1px;background:#f2f2f5}.c-input-top button{display:flex;border-radius:4px;border:1px solid #e8e8f0;background:#fff;box-shadow:0 0 8px #725dc724;column-gap:4px;padding:4px 8px;align-items:center;box-sizing:border-box;cursor:pointer;overflow:hidden;min-width:174px;font-size:12px}.c-input-top button .doc-name{flex:1;text-align:left;max-width:230px;width:100%;align-items:center;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.c-input-top button .doc-name.name-status{display:flex;color:#6d5ffd}.c-input-top button .doc-name.name-status.fail{color:#fc1944}.c-input-top button .doc-status{height:12px;margin-left:6px;color:#000}.c-input-top button .doc-status img{width:12px;height:12px;overflow:hidden}.c-input-top button .icon-close{margin-left:40px;box-sizing:border-box;color:#999aaa}.c-input-top button .icon-close:hover{color:#555}.c-input-top button .doc-icon{width:18px;height:18px;text-align:center}.c-input-top .reUpload{box-sizing:border-box;color:#6d5ffd}.c-input-top .space{margin-right:4px;box-sizing:border-box;color:#999aaa!important}.chat-md{box-sizing:border-box}.chat-md :first-child{margin-top:0}.chat-md h1{font-size:2.2em;font-weight:700;line-height:1.1;padding-top:16px;margin-bottom:4px}.chat-md h2,.chat-md h3,.chat-md h4,.chat-md h5,.chat-md h6{line-height:1.5em;margin-top:2.2em;margin-bottom:4px}.chat-md h2{font-size:1.4em;margin:40px 10px 20px 0;padding-left:9px;border-left:6px solid #ff7e79;font-weight:700;line-height:1.4}.chat-md h3{font-weight:700;font-size:1.2em;line-height:1.4;margin:10px 0 5px;padding-top:10px}.chat-md h4{font-weight:700;text-transform:uppercase;font-size:1.1em;line-height:1.4;margin:10px 0 5px;padding-top:10px}.chat-md h5,.chat-md h6{font-size:.9em}.chat-md h5{font-weight:700;text-transform:uppercase}.chat-md h6{font-weight:400;color:#aaa}.chat-md img{width:50%;border-radius:5px;display:block;margin-bottom:15px;height:auto}.chat-md dl,.chat-md ol,.chat-md ul{padding-left:1.5em;line-height:1.8}.chat-md p{margin:0 0 20px;padding:0;line-height:1.5}.chat-md a{color:#f22f27;text-decoration:none}.chat-md a:hover{color:#f55852;text-decoration:underline}.chat-md a:focus{outline-offset:-2px}.chat-md blockquote{font-size:1em;font-style:normal;padding:12px 24px;margin:0 0 15px;position:relative;line-height:1.8;text-indent:0;border:none;color:#888}.chat-md blockquote:before{content:"";width:4px;height:100%;left:0;top:0;color:#e0e0e0;font-size:4em;font-family:Arial,serif;line-height:1em;font-weight:700;position:absolute;background:#e0e0e0}.chat-md blockquote:after{left:24px;top:6px;font-size:14px;line-height:1em;font-weight:700;position:absolute;bottom:-31px}.chat-md strong,.chat-md dfn{font-weight:700}.chat-md em,.chat-md dfn{font-style:italic;font-weight:400}.chat-md del{text-decoration:line-through}.chat-md table{border-collapse:collapse;display:table;width:100%;text-align:left;margin-bottom:24px;margin-left:auto;margin-right:auto}.chat-md table tr{border:0;border-top:1px solid #ddd;background-color:#fff}.chat-md table tr:nth-child(2n){background-color:#f7f7f7}.chat-md table tr th{font-weight:700;background-color:#eff3f5;padding:8px;border:1px solid #ddd}.chat-md table tr th p{font-weight:700}.chat-md table tr td{padding:8px;border:1px solid #ddd}.chat-md figure{margin:1em 0}.chat-md figcaption{font-size:.75em;padding:.5em 2em;margin-bottom:2em}.chat-md figure img{margin-bottom:0}.chat-md hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.chat-md ol p,.chat-md ul p{margin-bottom:0}.chat-md li{margin-bottom:.5em;margin-top:.5em}.chat-md ol#footnotes{font-size:.95em;padding-top:1em;border-top:1px solid #eaeaea;counter-reset:footer-counter;list-style:none;color:#555;padding-left:5%;margin:20px 0}.chat-md ol#footnotes li{margin-bottom:10px;margin-left:16px;font-weight:400;line-height:2;list-style-type:none}.chat-md ol#footnotes li:before{content:counter(footer-counter) ". ";counter-increment:footer-counter;font-weight:800;font-size:.95em}@keyframes highfade{0%{background-color:none}20%{background-color:#ff0}to{background-color:none}}@-webkit-keyframes highfade{0%{background-color:none}20%{background-color:#ff0}to{background-color:none}}.chat-md a:target,.chat-md ol#footnotes li:target,.chat-md sup a:target{animation-name:highfade;animation-duration:2s;animation-iteration-count:1;animation-timing-function:ease-in-out;-webkit-animation-name:highfade;-webkit-animation-duration:2s;-webkit-animation-iteration-count:1;-webkit-animation-timing-function:ease-in-out}.chat-md a:target{border:0;outline:0}.chat-md .hljs{background:#1c1c28;vertical-align:middle}.chat-md li{list-style:inherit}.chat-md ol{list-style:decimal}.chat-md ul{list-style:inherit}.chat-md code:not(.hljs code){color:#c7254e;font-size:90%;background-color:#f9f2f4;font-family:Menlo,Monaco,Consolas,Courier New,monospace}:root{font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#c_chat .chat-drawer.el-overlay{background-color:transparent}#c_chat .el-drawer__body{padding:0}#c_chat .el-drawer{overflow:initial}#chat-pro pre code.hljs{display:block;overflow-x:auto;padding:1em}#chat-pro code.hljs{padding:3px 5px}#chat-pro .hljs{color:#abb2bf;background:#282c34}#chat-pro .hljs-comment,#chat-pro .hljs-quote{color:#5c6370;font-style:italic}#chat-pro .hljs-doctag,#chat-pro .hljs-keyword,#chat-pro .hljs-formula{color:#c678dd}#chat-pro .hljs-section,#chat-pro .hljs-name,#chat-pro .hljs-selector-tag,#chat-pro .hljs-deletion,#chat-pro .hljs-subst{color:#e06c75}#chat-pro .hljs-literal{color:#56b6c2}#chat-pro .hljs-string,#chat-pro .hljs-regexp,#chat-pro .hljs-addition,#chat-pro .hljs-attribute,#chat-pro .hljs-meta .hljs-string{color:#98c379}#chat-pro .hljs-attr,#chat-pro .hljs-variable,#chat-pro .hljs-template-variable,#chat-pro .hljs-type,#chat-pro .hljs-selector-class,#chat-pro .hljs-selector-attr,#chat-pro .hljs-selector-pseudo,#chat-pro .hljs-number{color:#d19a66}#chat-pro .hljs-symbol,#chat-pro .hljs-bullet,#chat-pro .hljs-link,#chat-pro .hljs-meta,#chat-pro .hljs-selector-id,#chat-pro .hljs-title{color:#61aeee}#chat-pro .hljs-built_in,#chat-pro .hljs-title.class_,#chat-pro .hljs-class .hljs-title{color:#e6c07b}#chat-pro .hljs-emphasis{font-style:italic}#chat-pro .hljs-strong{font-weight:700}#chat-pro .hljs-link{text-decoration:underline}.chat-wrapper{position:relative;height:100%;width:100%;font-size:14px;background-color:#fff}.chat-wrapper .chat-inner{position:relative;display:flex;height:100%;width:100%;overflow-x:auto;background:linear-gradient(180deg,#e1e2f6cc,#f5e7fecc)}.chat-wrapper .chat-right{position:relative;padding-top:12px;padding-right:12px;display:flex;flex-direction:column;flex:1;height:100%;overflow:hidden;min-width:890px}.chat-wrapper .chat-right.chat-right-search{min-width:500px}.chat-wrapper .chat-mask{flex:1;overflow:hidden}.chat-wrapper .chat-main{display:flex;flex-direction:column;position:relative;flex:1;background:#fff;border-radius:0 10px 10px 0;height:calc(100% - 25px);max-width:100%;padding:40px calc((100% - 878px)/2) 12px}.chat-wrapper .welcome{display:flex;flex-direction:column;justify-content:center;flex:1;margin:0 auto;width:100%;padding-bottom:7%}.chat-wrapper .welcome .slogan{display:flex;align-items:center;justify-content:center;text-align:center}.chat-wrapper .welcome .slogan .c-logo{height:48px;margin-bottom:16px;fill:none}.chat-wrapper .welcome .slogan .title{font-size:24px;font-weight:400;color:var(--color-text-primary);font-family:PingFang SC}.chat-wrapper .welcome .slogan .desc{width:100%;margin:0 auto;padding-top:8px}.chat-wrapper .welcome+.input-bar{width:878px;position:absolute;bottom:12px;left:50%;transform:translate(-50%);margin-top:0}.chat-wrapper .chat-bottom{padding:4px 0;text-align:center;color:#ccccd8;font-size:12px}.chat-wrapper .chat-bottom a{color:#ccccd8;text-decoration:none;line-height:16px}.chat-wrapper .chat-bottom a:hover{color:#555666;text-decoration:underline}.chat-wrapper .btn{cursor:pointer}.chat-wrapper .c-icon{width:16px;height:16px;cursor:pointer}.chat-wrapper svg{outline:none}.chat-wrapper .actions{margin-top:10px;display:flex;align-items:center;justify-content:space-between}.chat-btn{height:32px;font-size:14px}.vip-btn{width:100%;cursor:pointer;border-radius:16px;background:linear-gradient(141deg,#e2b1ff 5.23%,#6e60fd 97.15%);text-align:center;border-width:0px;color:#fff;padding:4px 12px}.model-wraper{position:absolute!important;left:50%;top:0;transform:translate(-50%);z-index:88}.model-wraper .model-setting{display:inline-flex;padding:6px 10px;justify-content:center;align-items:center;gap:4px;border-radius:0 0 12px 12px;background:#e4e7ff;color:var(--color-text-primary);cursor:pointer;font-weight:500}.el-message{min-width:10px}.msg-left{white-space:pre-wrap}.hidden{opacity:0;display:none;width:0;height:0}.empty-text{color:var(--color-text-empty);font-size:12px}.el-popper.is-dark .el-popper__arrow:before{border:1px solid var(--el-text-color-primary)!important;background:var(--el-text-color-primary)!important}.c-scrollbar-style:hover::-webkit-scrollbar-thumb{background:#00000026;cursor:pointer}.c-scrollbar-style::-webkit-scrollbar{width:8px;height:8px}.c-scrollbar-style::-webkit-scrollbar-thumb{border-radius:10px;background:#0000;opacity:0;transition:all .2s}.c-scrollbar-style::-webkit-scrollbar-track{border-radius:10px;background:#0000}body,.chat-pro-share{background-color:#f5f6f7}.chat-pro-share{--share-padding: 24px;max-width:1080px;height:100vh;margin:0 auto}.chat-pro-share *{box-sizing:border-box}.chat-pro-share.wap{--share-padding: 16px}.chat-pro-share.wap .chat-share-view{padding-top:64px}.chat-pro-share.wap .chat-share-view__header span{font-size:15px}.chat-pro-share.wap .chat-share-view__header .primary-btn{font-size:15px;padding:0 14px;height:36px;line-height:36px}.chat-pro-share .chat-share-view{position:relative;overflow:hidden;width:100%;padding-top:72px;padding-bottom:48px;height:100%}.chat-pro-share .chat-share-view__header{position:fixed;top:0;width:100%;background-color:#f5f6f7;max-width:1080px;left:50%;transform:translate(-50%);padding:var(--share-padding) var(--share-padding) 8px;display:flex;justify-content:space-between;align-items:center}.chat-pro-share .chat-share-view__header span{color:#000;font-size:16px;font-style:normal;font-weight:600;line-height:28px}.chat-pro-share .chat-share-view__header a.primary-btn{padding:0 24px;height:40px;text-align:center;line-height:40px;flex-shrink:0;cursor:pointer;font-size:16px;border:none;font-weight:600;color:#fff;border-radius:20px;background:#6d5ffd}.chat-pro-share .chat-share-view__header a.primary-btn:hover{opacity:.9}.chat-pro-share .chat-share-view__content{background-color:#fff;border-radius:16px;margin:0 var(--share-padding);height:100%;position:relative}.chat-pro-share .chat-share-view__content_inner{height:100%;overflow-y:auto}.chat-pro-share .chat-share-view__content_inner .share-preview .share-preview-inner{padding:16px var(--share-padding)}.chat-pro-share .chat-share-view__content .slide-down-btn{cursor:pointer;position:absolute;bottom:18px;left:0;right:0;margin:auto;width:32px;height:32px;border-radius:50%;background-color:#fff;box-shadow:0 0 16px #0000004d;display:flex;align-items:center;justify-content:center;font-size:18px;color:#333}.chat-pro-share .chat-share-view__content p{margin:0;padding:0 0 4px}.chat-pro-share .chat-share-view__footer{position:fixed;bottom:0;left:0;width:100%;background-color:#f5f6f7;height:48px;line-height:48px;padding:0;text-align:center}.chat-pro-share .chat-share-view__footer span{display:inline-block;color:#ccccd8;text-align:center;font-size:12px;font-weight:400;line-height:16px}</style>
    <script src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/report.js.下载" type="text/javascript"></script>
    <link rel="stylesheet" type="text/css" href="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/sandalstrap.min.css">
    <style>
        .MathJax, .MathJax_Message, .MathJax_Preview{
            display: none
        }
    </style>
    <script src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/ds.js.下载"></script>
      <script type="text/javascript">
        (function(c,l,a,r,i,t,y){
            c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};
            t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i;
            y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y);
        })(window, document, "clarity", "script", "lgtpix6r85");
      </script>
    <script src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/crypto.min.js.下载"></script>
    <script src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/bot-score-v1.js.下载"></script>
    <script src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/waf_captcha_embedded_bs.js.下载"></script>
<link rel="stylesheet" type="text/css" href="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/csdn-toolbar-default.css"><script type="text/javascript" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/csdn-cert-new.js.下载"></script><link rel="stylesheet" type="text/css" href="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/collection-box.css"><script type="text/javascript" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/user-login.js.下载"></script><link rel="stylesheet" type="text/css" href="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/user-tooltip.css"><link rel="stylesheet" type="text/css" href="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/user-medal.css"><script type="text/javascript" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/html2canvas.min.js.下载"></script><style></style><style type="text/css">.hljs-ln{border-collapse:collapse}            .hljs-ln td{padding:0}            .hljs-ln-n{text-align: right;padding-right: 8px;}            .hljs-ln-n:before{content:attr(data-line-number)}</style><style type="text/css">pre{position: relative}pre:hover .code-full-screen{display:none !important;}.code-full-screen{display: none !important;position: absolute;right: 4px;top: 3px;width: 24px !important;height: 24px !important;margin: 4px !important;z-index: 20;}pre:hover .hljs-button{display: block}.hljs-button{display: none;position: absolute;right: 4px;top: 4px;font-size: 12px;color: #ffffff;background-color: #9999AA;width:58px;text-align: center;padding:2px 0;z-index: 20;margin: 8px;border-radius: 4px;cursor: pointer; box-shadow: 0 2px 4px rgba(0,0,0,0.05), 0 2px 4px rgba(0,0,0,0.05);}.hljs-button:after{content: attr(data-title)}code .hljs-button{margin: 2px 8px;}</style><link rel="stylesheet" type="text/css" href="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/user-accusation.css"><link rel="stylesheet" type="text/css" href="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/user-ordertip.css"><link rel="stylesheet" type="text/css" href="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/order-payment.css"><link rel="stylesheet" type="text/css" href="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/theme.css"><link rel="stylesheet" type="text/css" href="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/side-toolbar.css"><link rel="stylesheet" type="text/css" href="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/csdn-footer.css"><style type="text/css">.caption{box-sizing:content-box;}</style><link rel="stylesheet" type="text/css" href="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/user-login.css"><style type="text/css">.MathJax_Hover_Frame {border-radius: .25em; -webkit-border-radius: .25em; -moz-border-radius: .25em; -khtml-border-radius: .25em; box-shadow: 0px 0px 15px #83A; -webkit-box-shadow: 0px 0px 15px #83A; -moz-box-shadow: 0px 0px 15px #83A; -khtml-box-shadow: 0px 0px 15px #83A; border: 1px solid #A6D ! important; display: inline-block; position: absolute}
.MathJax_Menu_Button .MathJax_Hover_Arrow {position: absolute; cursor: pointer; display: inline-block; border: 2px solid #AAA; border-radius: 4px; -webkit-border-radius: 4px; -moz-border-radius: 4px; -khtml-border-radius: 4px; font-family: 'Courier New',Courier; font-size: 9px; color: #F0F0F0}
.MathJax_Menu_Button .MathJax_Hover_Arrow span {display: block; background-color: #AAA; border: 1px solid; border-radius: 3px; line-height: 0; padding: 4px}
.MathJax_Hover_Arrow:hover {color: white!important; border: 2px solid #CCC!important}
.MathJax_Hover_Arrow:hover span {background-color: #CCC!important}
</style><style type="text/css">#MathJax_About {position: fixed; left: 50%; width: auto; text-align: center; border: 3px outset; padding: 1em 2em; background-color: #DDDDDD; color: black; cursor: default; font-family: message-box; font-size: 120%; font-style: normal; text-indent: 0; text-transform: none; line-height: normal; letter-spacing: normal; word-spacing: normal; word-wrap: normal; white-space: nowrap; float: none; z-index: 201; border-radius: 15px; -webkit-border-radius: 15px; -moz-border-radius: 15px; -khtml-border-radius: 15px; box-shadow: 0px 10px 20px #808080; -webkit-box-shadow: 0px 10px 20px #808080; -moz-box-shadow: 0px 10px 20px #808080; -khtml-box-shadow: 0px 10px 20px #808080; filter: progid:DXImageTransform.Microsoft.dropshadow(OffX=2, OffY=2, Color='gray', Positive='true')}
#MathJax_About.MathJax_MousePost {outline: none}
.MathJax_Menu {position: absolute; background-color: white; color: black; width: auto; padding: 2px; border: 1px solid #CCCCCC; margin: 0; cursor: default; font: menu; text-align: left; text-indent: 0; text-transform: none; line-height: normal; letter-spacing: normal; word-spacing: normal; word-wrap: normal; white-space: nowrap; float: none; z-index: 201; box-shadow: 0px 10px 20px #808080; -webkit-box-shadow: 0px 10px 20px #808080; -moz-box-shadow: 0px 10px 20px #808080; -khtml-box-shadow: 0px 10px 20px #808080; filter: progid:DXImageTransform.Microsoft.dropshadow(OffX=2, OffY=2, Color='gray', Positive='true')}
.MathJax_MenuItem {padding: 2px 2em; background: transparent}
.MathJax_MenuArrow {position: absolute; right: .5em; padding-top: .25em; color: #666666; font-size: .75em}
.MathJax_MenuActive .MathJax_MenuArrow {color: white}
.MathJax_MenuArrow.RTL {left: .5em; right: auto}
.MathJax_MenuCheck {position: absolute; left: .7em}
.MathJax_MenuCheck.RTL {right: .7em; left: auto}
.MathJax_MenuRadioCheck {position: absolute; left: 1em}
.MathJax_MenuRadioCheck.RTL {right: 1em; left: auto}
.MathJax_MenuLabel {padding: 2px 2em 4px 1.33em; font-style: italic}
.MathJax_MenuRule {border-top: 1px solid #CCCCCC; margin: 4px 1px 0px}
.MathJax_MenuDisabled {color: GrayText}
.MathJax_MenuActive {background-color: Highlight; color: HighlightText}
.MathJax_MenuDisabled:focus, .MathJax_MenuLabel:focus {background-color: #E8E8E8}
.MathJax_ContextMenu:focus {outline: none}
.MathJax_ContextMenu .MathJax_MenuItem:focus {outline: none}
#MathJax_AboutClose {top: .2em; right: .2em}
.MathJax_Menu .MathJax_MenuClose {top: -10px; left: -10px}
.MathJax_MenuClose {position: absolute; cursor: pointer; display: inline-block; border: 2px solid #AAA; border-radius: 18px; -webkit-border-radius: 18px; -moz-border-radius: 18px; -khtml-border-radius: 18px; font-family: 'Courier New',Courier; font-size: 24px; color: #F0F0F0}
.MathJax_MenuClose span {display: block; background-color: #AAA; border: 1.5px solid; border-radius: 18px; -webkit-border-radius: 18px; -moz-border-radius: 18px; -khtml-border-radius: 18px; line-height: 0; padding: 8px 0 6px}
.MathJax_MenuClose:hover {color: white!important; border: 2px solid #CCC!important}
.MathJax_MenuClose:hover span {background-color: #CCC!important}
.MathJax_MenuClose:hover:focus {outline: none}
</style><style type="text/css">.MathJax_Preview .MJXf-math {color: inherit!important}
</style><style type="text/css">.MJX_Assistive_MathML {position: absolute!important; top: 0; left: 0; clip: rect(1px, 1px, 1px, 1px); padding: 1px 0 0 0!important; border: 0!important; height: 1px!important; width: 1px!important; overflow: hidden!important; display: block!important; -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none}
.MJX_Assistive_MathML.MJX_Assistive_MathML_Block {width: 100%!important}
</style><style type="text/css">#MathJax_Zoom {position: absolute; background-color: #F0F0F0; overflow: auto; display: block; z-index: 301; padding: .5em; border: 1px solid black; margin: 0; font-weight: normal; font-style: normal; text-align: left; text-indent: 0; text-transform: none; line-height: normal; letter-spacing: normal; word-spacing: normal; word-wrap: normal; white-space: nowrap; float: none; -webkit-box-sizing: content-box; -moz-box-sizing: content-box; box-sizing: content-box; box-shadow: 5px 5px 15px #AAAAAA; -webkit-box-shadow: 5px 5px 15px #AAAAAA; -moz-box-shadow: 5px 5px 15px #AAAAAA; -khtml-box-shadow: 5px 5px 15px #AAAAAA; filter: progid:DXImageTransform.Microsoft.dropshadow(OffX=2, OffY=2, Color='gray', Positive='true')}
#MathJax_ZoomOverlay {position: absolute; left: 0; top: 0; z-index: 300; display: inline-block; width: 100%; height: 100%; border: 0; padding: 0; margin: 0; background-color: white; opacity: 0; filter: alpha(opacity=0)}
#MathJax_ZoomFrame {position: relative; display: inline-block; height: 0; width: 0}
#MathJax_ZoomEventTrap {position: absolute; left: 0; top: 0; z-index: 302; display: inline-block; border: 0; padding: 0; margin: 0; background-color: white; opacity: 0; filter: alpha(opacity=0)}
</style><style type="text/css">.MathJax_Preview {color: #888}
#MathJax_Message {position: fixed; left: 1em; bottom: 1.5em; background-color: #E6E6E6; border: 1px solid #959595; margin: 0px; padding: 2px 8px; z-index: 102; color: black; font-size: 80%; width: auto; white-space: nowrap}
#MathJax_MSIE_Frame {position: absolute; top: 0; left: 0; width: 0px; z-index: 101; border: 0px; margin: 0px; padding: 0px}
.MathJax_Error {color: #CC0000; font-style: italic}
</style><style type="text/css">.MJXp-script {font-size: .8em}
.MJXp-right {-webkit-transform-origin: right; -moz-transform-origin: right; -ms-transform-origin: right; -o-transform-origin: right; transform-origin: right}
.MJXp-bold {font-weight: bold}
.MJXp-italic {font-style: italic}
.MJXp-scr {font-family: MathJax_Script,'Times New Roman',Times,STIXGeneral,serif}
.MJXp-frak {font-family: MathJax_Fraktur,'Times New Roman',Times,STIXGeneral,serif}
.MJXp-sf {font-family: MathJax_SansSerif,'Times New Roman',Times,STIXGeneral,serif}
.MJXp-cal {font-family: MathJax_Caligraphic,'Times New Roman',Times,STIXGeneral,serif}
.MJXp-mono {font-family: MathJax_Typewriter,'Times New Roman',Times,STIXGeneral,serif}
.MJXp-largeop {font-size: 150%}
.MJXp-largeop.MJXp-int {vertical-align: -.2em}
.MJXp-math {display: inline-block; line-height: 1.2; text-indent: 0; font-family: 'Times New Roman',Times,STIXGeneral,serif; white-space: nowrap; border-collapse: collapse}
.MJXp-display {display: block; text-align: center; margin: 1em 0}
.MJXp-math span {display: inline-block}
.MJXp-box {display: block!important; text-align: center}
.MJXp-box:after {content: " "}
.MJXp-rule {display: block!important; margin-top: .1em}
.MJXp-char {display: block!important}
.MJXp-mo {margin: 0 .15em}
.MJXp-mfrac {margin: 0 .125em; vertical-align: .25em}
.MJXp-denom {display: inline-table!important; width: 100%}
.MJXp-denom > * {display: table-row!important}
.MJXp-surd {vertical-align: top}
.MJXp-surd > * {display: block!important}
.MJXp-script-box > *  {display: table!important; height: 50%}
.MJXp-script-box > * > * {display: table-cell!important; vertical-align: top}
.MJXp-script-box > *:last-child > * {vertical-align: bottom}
.MJXp-script-box > * > * > * {display: block!important}
.MJXp-mphantom {visibility: hidden}
.MJXp-munderover {display: inline-table!important}
.MJXp-over {display: inline-block!important; text-align: center}
.MJXp-over > * {display: block!important}
.MJXp-munderover > * {display: table-row!important}
.MJXp-mtable {vertical-align: .25em; margin: 0 .125em}
.MJXp-mtable > * {display: inline-table!important; vertical-align: middle}
.MJXp-mtr {display: table-row!important}
.MJXp-mtd {display: table-cell!important; text-align: center; padding: .5em 0 0 .5em}
.MJXp-mtr > .MJXp-mtd:first-child {padding-left: 0}
.MJXp-mtr:first-child > .MJXp-mtd {padding-top: 0}
.MJXp-mlabeledtr {display: table-row!important}
.MJXp-mlabeledtr > .MJXp-mtd:first-child {padding-left: 0}
.MJXp-mlabeledtr:first-child > .MJXp-mtd {padding-top: 0}
.MJXp-merror {background-color: #FFFF88; color: #CC0000; border: 1px solid #CC0000; padding: 1px 3px; font-style: normal; font-size: 90%}
.MJXp-scale0 {-webkit-transform: scaleX(.0); -moz-transform: scaleX(.0); -ms-transform: scaleX(.0); -o-transform: scaleX(.0); transform: scaleX(.0)}
.MJXp-scale1 {-webkit-transform: scaleX(.1); -moz-transform: scaleX(.1); -ms-transform: scaleX(.1); -o-transform: scaleX(.1); transform: scaleX(.1)}
.MJXp-scale2 {-webkit-transform: scaleX(.2); -moz-transform: scaleX(.2); -ms-transform: scaleX(.2); -o-transform: scaleX(.2); transform: scaleX(.2)}
.MJXp-scale3 {-webkit-transform: scaleX(.3); -moz-transform: scaleX(.3); -ms-transform: scaleX(.3); -o-transform: scaleX(.3); transform: scaleX(.3)}
.MJXp-scale4 {-webkit-transform: scaleX(.4); -moz-transform: scaleX(.4); -ms-transform: scaleX(.4); -o-transform: scaleX(.4); transform: scaleX(.4)}
.MJXp-scale5 {-webkit-transform: scaleX(.5); -moz-transform: scaleX(.5); -ms-transform: scaleX(.5); -o-transform: scaleX(.5); transform: scaleX(.5)}
.MJXp-scale6 {-webkit-transform: scaleX(.6); -moz-transform: scaleX(.6); -ms-transform: scaleX(.6); -o-transform: scaleX(.6); transform: scaleX(.6)}
.MJXp-scale7 {-webkit-transform: scaleX(.7); -moz-transform: scaleX(.7); -ms-transform: scaleX(.7); -o-transform: scaleX(.7); transform: scaleX(.7)}
.MJXp-scale8 {-webkit-transform: scaleX(.8); -moz-transform: scaleX(.8); -ms-transform: scaleX(.8); -o-transform: scaleX(.8); transform: scaleX(.8)}
.MJXp-scale9 {-webkit-transform: scaleX(.9); -moz-transform: scaleX(.9); -ms-transform: scaleX(.9); -o-transform: scaleX(.9); transform: scaleX(.9)}
.MathJax_PHTML .noError {vertical-align: ; font-size: 90%; text-align: left; color: black; padding: 1px 3px; border: 1px solid}
</style></head>
  <body class="nodata  " style=""><div id="MathJax_Message" style="display: none;"></div>
    <div id="toolbarBox" style="min-height: 48px;"><div id="csdn-toolbar" style="position: fixed; top: 0px; left: 0px; z-index: 1993; min-width: 100%; width: max-content;">
                    <div class="toolbar-inside exp3">
                      <div class="toolbar-container">
                        <div class="toolbar-container-left">
                          <div class="toolbar-logo toolbar-subMenu-box csdn-toolbar-fl"><a data-report-click="{&quot;spm&quot;:&quot;3001.4476&quot;}" data-report-query="spm=3001.4476" href="https://www.csdn.net/"><img title="CSDN首页" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/20201124032511.png"></a>
                    </div>
                          <ul class="toolbar-menus csdn-toolbar-fl"><li class="active " title="阅读深度、前沿文章">
                                <a data-report-click="{&quot;mod&quot;:&quot;popu_336&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/&quot;,&quot;spm&quot;:&quot;3001.4477&quot;}" data-report-query="spm=3001.4477" href="https://blog.csdn.net/">
                                  博客
                                  
                                  
                                </a>
                                
                                
                              </li><li class="" title="高价值源码课程分享">
                                <a data-report-click="{&quot;mod&quot;:&quot;popu_336&quot;,&quot;dest&quot;:&quot;https://download.csdn.net/&quot;,&quot;spm&quot;:&quot;3001.6907&quot;}" data-report-query="spm=3001.6907" href="https://download.csdn.net/">
                                  下载
                                  
                                  
                                </a>
                                
                                
                              </li><li class="" title="高质量课程·大会云会员">
                                <a data-report-click="{&quot;mod&quot;:&quot;popu_336&quot;,&quot;dest&quot;:&quot;https://edu.csdn.net?utm_source=zhuzhantoolbar&quot;,&quot;spm&quot;:&quot;3001.4482&quot;}" data-report-query="spm=3001.4482" href="https://edu.csdn.net/?utm_source=zhuzhantoolbar">
                                  学习
                                  
                                  
                                </a>
                                
                                
                              </li><li class="" title="DevPress官方社区">
                                <a data-report-click="{&quot;mod&quot;:&quot;popu_336&quot;,&quot;dest&quot;:&quot;https://devpress.csdn.net/&quot;,&quot;spm&quot;:&quot;3001.6068&quot;}" data-report-query="spm=3001.6068" href="https://devpress.csdn.net/">
                                  社区
                                  
                                  
                                </a>
                                
                                
                              </li><li class="" title="开源代码托管">
                                <a data-report-click="{&quot;mod&quot;:&quot;&quot;,&quot;dest&quot;:&quot;https://link.csdn.net?target=https%3A%2F%2Fgitcode.com%3Futm_source%3Dcsdn_toolbar&quot;,&quot;spm&quot;:&quot;3001.6768&quot;}" data-report-query="spm=3001.6768" href="https://link.csdn.net/?target=https%3A%2F%2Fgitcode.com%3Futm_source%3Dcsdn_toolbar">
                                  <img style="width:20px;top: -2px;" "="" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/20240829093757.png">GitCode
                                  
                                  
                                </a>
                                
                                
                              </li><li class="" title="InsCode AI">
                                <a data-report-click="{&quot;mod&quot;:&quot;popu_336&quot;,&quot;dest&quot;:&quot;https://models.csdn.net?utm_source=260232576&quot;,&quot;spm&quot;:&quot;3001.8290&quot;}" data-report-query="spm=3001.8290" href="https://models.csdn.net/?utm_source=260232576">
                                  InsCodeAI
                                  
                                  
                                </a>
                                
                                
                              </li><li class="" title="会议">
                                <a data-report-click="{&quot;mod&quot;:&quot;popu_336&quot;,&quot;dest&quot;:&quot;https://summit.csdn.net/&quot;,&quot;spm&quot;:&quot;3001.8293&quot;}" data-report-query="spm=3001.8293" href="https://summit.csdn.net/">
                                  会议
                                  
                                  
                                </a>
                                
                                
                              </li></ul>
                        </div>
                        <div class="toolbar-container-middle">
                        <div class="toolbar-search  onlySearch "><div class="toolbar-search-container">
                    <span class="icon-fire"></span>
                    <input id="toolbar-search-input" maxlength="2000" autocomplete="off" type="text" value="" placeholder="gpio驱动代码流程" style="text-indent: 32px;"><div class="gradient"></div>
                    <button id="toolbar-search-button"><i></i><span>搜索</span></button>
                    <p id="toolbar-c-box-button" class="c-box"><span>C 知道</span></p>
                    <input type="password" autocomplete="new-password" readonly="" disabled="true" style="display: none; position:absolute;left:-9999999px;width:0;height:0;">
                  </div></div></div>
                        <div class="toolbar-container-right">
                          <div class="toolbar-btns onlyUser"><div class="toolbar-btn toolbar-btn-login toolbar-btn-login-new csdn-toolbar-fl toolbar-subMenu-box">
          <a class="hasAvatar" data-report-click="{&quot;spm&quot;: &quot;3001.5343&quot;}" data-report-query="spm=3001.5343" href="https://blog.csdn.net/2301_77659368"><img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/6a196f4ac8c34b1197d7bd40c777443a_2301_77659368.jpg!2"></a>
          <div id="csdn-toolbar-profile" class="csdn-toolbar-plugin">
        <div class="csdn-profile-top">
          <a class="csdn-profile-avatar" data-report-click="{&quot;spm&quot;: &quot;3001.5343&quot;}" data-report-query="spm=3001.5343" href="https://blog.csdn.net/2301_77659368"><img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/default.jpg!3"></a>
          <p class="csdn-profile-nickName">--</p>
          <a data-report-click="{&quot;spm&quot;: &quot;3001.5344&quot;}" data-report-query="spm=3001.5344" href="https://mall.csdn.net/vip" class="csdn-profile-no-vip"></a>
        </div>
        <div class="csdn-profile-mid">
          <a data-report-click="{&quot;spm&quot;: &quot;3001.5347&quot;}" data-report-query="spm=3001.5347" href="https://blog.csdn.net/2301_77659368?type=sub&amp;subType=fans"><i class="csdn-profile-fansCount">--</i>粉丝</a>
          <a data-report-click="{&quot;spm&quot;: &quot;3001.5348&quot;}" data-report-query="spm=3001.5348" href="https://blog.csdn.net/2301_77659368?type=sub"><i class="csdn-profile-followCount">--</i>关注</a>
          <a data-report-click="{&quot;spm&quot;: &quot;3001.5349&quot;}" data-report-query="spm=3001.5349" href="https://blog.csdn.net/2301_77659368"><i class="csdn-profile-likeCount">--</i>获赞</a>
        </div>
        <div class="csdn-profile-bottom" id="csdn-profile-bottom-hide">
          <ul class="csdn-border-bottom">
            <li class=""><a href="https://blog.csdn.net/2301_77659368" data-report-click="{&quot;dest&quot;:&quot;https://blog.csdn.net/2301_77659368&quot;,&quot;spm&quot;:&quot;3001.10640&quot;}" data-report-query="spm=3001.10640"><i class="csdn-profile-icon csdn-profile-icon-bloguser"></i>我的主页</a></li><li class=""><a href="https://i.csdn.net/#/user-center/profile" data-report-click="{&quot;dest&quot;:&quot;https://i.csdn.net/#/user-center/profile&quot;,&quot;spm&quot;:&quot;3001.5111&quot;}" data-report-query="spm=3001.5111"><i class="csdn-profile-icon csdn-profile-icon-person"></i>个人中心</a></li><li class=""><a href="https://www.csdn.net/vip" data-report-click="{&quot;dest&quot;:&quot;https://www.csdn.net/vip&quot;,&quot;spm&quot;:&quot;3001.6256&quot;}" data-report-query="spm=3001.6256"><i class="csdn-profile-icon csdn-profile-icon-vipc"></i>会员中心</a></li><li class=""><a href="https://mpbeta.csdn.net/mp_blog/manage/article?spm=1011.2124.3001.5298" data-report-click="{&quot;dest&quot;:&quot;https://mpbeta.csdn.net/mp_blog/manage/article&quot;,&quot;spm&quot;:&quot;3001.5448&quot;}" data-report-query="spm=3001.5448"><i class="csdn-profile-icon csdn-profile-icon-pages"></i>内容管理</a></li><li class=""><a href="https://www.csdn.net/i/purchased" data-report-click="{&quot;dest&quot;:&quot;https://www.csdn.net/i/purchased&quot;,&quot;spm&quot;:&quot;3001.10565&quot;}" data-report-query="spm=3001.10565"><i class="csdn-profile-icon csdn-profile-icon-purchased"></i>已购内容</a></li><li class=""><a href="https://edu.csdn.net/?utm_source=edu_txxl_mh" data-report-click="{&quot;dest&quot;:&quot;https://edu.csdn.net?utm_source=edu_txxl_mh&quot;,&quot;spm&quot;:&quot;3001.5350&quot;}" data-report-query="spm=3001.5350"><i class="csdn-profile-icon csdn-profile-icon-study"></i>我的学习</a></li><li class=""><a href="https://mall.csdn.net/myorder" data-report-click="{&quot;dest&quot;:&quot;https://mall.csdn.net/myorder&quot;,&quot;spm&quot;:&quot;3001.5137&quot;}" data-report-query="spm=3001.5137"><i class="csdn-profile-icon csdn-profile-icon-order"></i>我的订单</a></li><li class=""><a href="https://i.csdn.net/#/wallet/index" data-report-click="{&quot;dest&quot;:&quot;https://i.csdn.net/#/wallet/index&quot;,&quot;spm&quot;:&quot;3001.5136&quot;}" data-report-query="spm=3001.5136"><i class="csdn-profile-icon csdn-profile-icon-wallet"></i>我的钱包</a></li><li class=""><a href="https://dev-portal.csdn.net/welcome?utm_source=toolbar_user_profile" data-report-click="{&quot;dest&quot;:&quot;https://dev-portal.csdn.net/welcome?utm_source=toolbar_user_profile&quot;,&quot;spm&quot;:&quot;3001.7345&quot;}" data-report-query="spm=3001.7345"><i class="csdn-profile-icon csdn-profile-icon-API"></i>我的云服务</a></li><li class="pb-8 csdn-border-bottom"><a href="https://upload.csdn.net/level?utm_source=xz_pc_txxl" data-report-click="{&quot;dest&quot;:&quot;https://upload.csdn.net/level?utm_source=xz_pc_txxl&quot;,&quot;spm&quot;:&quot;3001.7346&quot;}" data-report-query="spm=3001.7346"><i class="csdn-profile-icon csdn-profile-icon-ac"></i>我的等级</a></li><li class="pt-8 pb-8 csdn-border-bottom"><a href="https://i.csdn.net/#/uc/reward" data-report-click="{&quot;dest&quot;:&quot;https://i.csdn.net/#/uc/reward&quot;,&quot;spm&quot;:&quot;3001.5351&quot;}" data-report-query="spm=3001.5351"><i class="csdn-profile-icon csdn-profile-icon-draw"></i>签到抽奖</a></li><li class="pt-8 csdn-profile-logout"><a href="javascript:;" data-report-click="{&quot;spm&quot;:&quot;3001.5139&quot;}" data-report-query="spm=3001.5139"><i class="csdn-profile-icon csdn-profile-icon-logout"></i>退出</a></li>
          </ul>
        </div>
      </div></div>
          <div class="toolbar-btn toolbar-btn-vip csdn-toolbar-fl">
            <a rel="nofollow" style="" data-report-click="{&quot;mod&quot;:&quot;popu_336&quot;,&quot;dest&quot;:&quot;https://mall.csdn.net/vip&quot;,&quot;spm&quot;:&quot;3001.4496&quot;}" data-report-query="spm=3001.4496" href="https://mall.csdn.net/vip">
              会员中心 <img style="position: relative; vertical-align: middle; width: 14px; top: -2px; left: 0px;;display:inline-block" "="" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/20210918025138.gif">
            </a>
          </div>
          <div class="toolbar-btn toolbar-btn-msg csdn-toolbar-fl">
              <div class="toolbar-subMenu-box">
                <a rel="nofollow" data-report-click="{&quot;spm&quot;:&quot;3001.4508&quot;}" data-report-query="spm=3001.4508" id="toolbar-remind" href="https://i.csdn.net/#/msg/index"><span class="pos-rel">消息<i class="toolbar-msg-count"></i></span></a>
              <div class="toolbar-subMenu">
                          <a rel="nofollow" data-type="chat" href="https://im.csdn.net/im/main.html"><span class="pos-rel">我的消息<i></i></span></a>
                          <a rel="nofollow" data-type="comment" href="https://i.csdn.net/#/msg/index"><span class="pos-rel">评论和@</span></a>
                          <a rel="nofollow" data-type="purchased" href="https://i.csdn.net/#/msg/new-content">
                            <span class="pos-rel">已购上新</span>
                          </a>
                          <a rel="nofollow" data-type="attention" href="https://i.csdn.net/#/msg/attention"><span class="pos-rel">新增粉丝</span></a>         
                          <a rel="nofollow" data-type="like" href="https://i.csdn.net/#/msg/like"><span class="pos-rel">赞和收藏<i></i></span></a>
                          <a rel="nofollow" data-type="notice" href="https://task.csdn.net/">有奖任务</a>
                          <a rel="nofollow" href="https://i.csdn.net/#/msg/setting">消息设置</a>
                     </div></div>
              <div class="toolbar-msg-box"></div>
            </div>
          <div class="toolbar-btn toolbar-btn-collect csdn-toolbar-fl">
            <a rel="nofollow" data-report-click="{&quot;spm&quot;:&quot;3001.7480&quot;}" data-report-query="spm=3001.7480" href="https://i.csdn.net/#/user-center/history">历史</a>
          </div>
          <div class="toolbar-btn toolbar-btn-mp csdn-toolbar-fl">
            <a rel="nofollow" title="创作中心" data-report-click="{&quot;dest&quot;:&quot;https://mpbeta.csdn.net&quot;,&quot;spm&quot;:&quot;3001.8539&quot;}" data-report-query="spm=3001.8539" href="https://mpbeta.csdn.net/">
              创作中心
            </a>
          
        <div class="csdn-toolbar-creative-mp" style="display: none; left: -148px;">
          <a href="https://mp.csdn.net/edit" data-report-query="spm=3001.9762" data-report-click="{&quot;spm&quot;:&quot;3001.9762&quot;,&quot;extra&quot;:{&quot;dataType&quot;:0}}"><img class="csdn-toolbar-creative-mp-bg" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/20230921102607.png" alt=""></a> 
          <img class="csdn-toolbar-creative-mp-close" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/20230815023238.png" alt="">
        </div>
      </div>
          <div class="toolbar-btn toolbar-btn-write toolbar-btn-write-new csdn-toolbar-fl toolbar-subMenu-box is-traffic"><a rel="nofollow" data-report-click="{&quot;spm&quot;:&quot;3001.4503&quot;,&quot;extra&quot;:{&quot;dataType&quot;:&quot;&quot;}}" data-report-query="spm=3001.4503" href="https://mpbeta.csdn.net/edit">创作</a></div>
        </div>
                        </div>
                      </div>
                    </div>
                  </div></div>
        <script>
            var toolbarSearchExt = '{\"id\":132686757,\"landingWord\":[\"gpio驱动代码流程\"],\"queryWord\":\"\",\"tag\":[\"linux\",\"Linux驱动\"],\"title\":\"Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序\"}';
        </script>
    <script src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/csdn-toolbar.js.下载" type="text/javascript"></script>
    <script>
    (function(){
        var bp = document.createElement('script');
        var curProtocol = window.location.protocol.split(':')[0];
        if (curProtocol === 'https') {
            bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';
        }
        else {
            bp.src = 'http://push.zhanzhang.baidu.com/push.js';
        }
        var s = document.getElementsByTagName("script")[0];
        s.parentNode.insertBefore(bp, s);
    })();
    </script>

    <link rel="stylesheet" href="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/blog_code-01256533b5.min.css">
    <link rel="stylesheet" href="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/chart-3456820cac.css">
    <link rel="stylesheet" href="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/swiper.css">
    <script src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/swiper.js.下载" async=""></script>
    <script>
      var articleId = 132686757;
        var privateEduData = ["函数","结构体","数据结构","数组"];//高亮数组
        var privateData = ["linux","river"];//高亮数组
      var commentscount = 3;
      var commentAuth = 2;
      var curentUrl = "https://blog.csdn.net/u013171226/article/details/132686757";
      var myUrl = "https://my.csdn.net/";
      var isGitCodeBlog = false;
      var isOpenSourceBlog = false;
      var isVipArticle = false;
        var highlight = ["pinctrl","linux","驱动程序","gpio","子系统","led","代码","驱动","流程","内核","详解","框架","和"];//高亮数组
        var isRecommendModule = true;
          var isBaiduPre = true;
          var baiduCount = 2;
          var setBaiduJsCount = 10;
        var viewCountFormat = 3589;
      var share_card_url = "https://app-blog.csdn.net/share?article_id=132686757&username=u013171226"
      var mallVipUrl = "https://mall.csdn.net/vip?vipSource=article"
      var vipArticleAbStyle = "t_2"

      var vipArticleCpStyle = "t_2"
      var articleType = 1;
      var baiduKey = "gpio驱动代码流程";
      var copyPopSwitch = true;
      var needInsertBaidu = true;
      var recommendRegularDomainArr = ["blog.csdn.net/.+/article/details/","download.csdn.net/download/","edu.csdn.net/course/detail/","ask.csdn.net/questions/","bbs.csdn.net/topics/","www.csdn.net/gather_.+/"]
      var codeStyle = "atom-one-dark";
      var baiduSearchType = "baidulandingword";
      var sharData = "{\"hot\":[{\"id\":1,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/a5f4260710904e538002a6ab337939b3.png\"},{\"id\":2,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/188b37199a2c4b74b1d9ffc39e0d52de.png\"},{\"id\":3,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/14ded358b631444581edd98a256bc5af.png\"},{\"id\":4,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/1470f23a770444d986ad551b9c33c5be.png\"},{\"id\":5,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/c329f5181dc74f6c9bd28c982bb9f91d.png\"},{\"id\":6,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/ccd8a3305e81460f9c505c95b432a65f.png\"},{\"id\":7,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/bc89d8283389440d97fc4d30e30f45e1.png\"},{\"id\":8,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/452d485b4a654f5592390550d2445edf.png\"},{\"id\":9,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/f8b9939db2ed474a8f43a643015fc8b7.png\"},{\"id\":10,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/6de8864187ab4ed3b1db0856369c36ff.png\"},{\"id\":11,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/673cc3470ff74072acba958dc0c46e2d.png\"},{\"id\":12,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/930c119760ac4491804db80f9c6d4e3f.png\"},{\"id\":13,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/15e6befb05a24233bc2b65e96aa8d972.png\"},{\"id\":14,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/2075fd6822184b95a41e214de4daec13.png\"},{\"id\":15,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/859b1552db244eb6891a809263a5c657.png\"},{\"id\":16,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/0be2f920f1f74290a98921974a9613fd.png\"},{\"id\":17,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/2e97e00b43f14afab494ea55ef3f4a6e.png\"},{\"id\":18,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/ff4ab252f46e444686f5135d6ebbfec0.png\"},{\"id\":19,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/ae029bbe99564e79911657912d36524f.png\"},{\"id\":20,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/b3ece39963de440388728e9e7b9bf427.png\"},{\"id\":21,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/6f14651a99ba486e926d63b6fa692997.png\"},{\"id\":22,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/83ceddf050084875a341e32dcceca721.png\"},{\"id\":23,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/b90368b8fd5d4c6c8c79a707d877cf7c.png\"},{\"id\":24,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/aeffae14ecf14e079b2616528c9a393b.png\"},{\"id\":25,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/c5a06b5a13d44d16bed868fc3384897a.png\"},{\"id\":26,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/08b697658b844b318cea3b119e9541ef.png\"},{\"id\":27,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/68ccb0b8d09346ac961d2b5c1a8c77bf.png\"},{\"id\":28,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/a2227a247e37418cbe0ea972ba6a859b.png\"},{\"id\":29,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/3a42825fede748f9993e5bb844ad350d.png\"},{\"id\":30,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/8882abc1dd484224b636966ea38555c3.png\"},{\"id\":31,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/4f6a5f636a3e444d83cf8cc06d87a159.png\"},{\"id\":32,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/1953ef79c56b4407b78d7181bdff11c3.png\"},{\"id\":33,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/c04a2a4f772948ed85b5b0380ed36287.png\"},{\"id\":34,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/5b4fecd05091405ea04d8c0f53e9f2c7.png\"},{\"id\":35,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/b89f576d700344e280d6ceb2a66c2420.png\"},{\"id\":36,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/1c65780e11804bbd9971ebadb3d78bcf.png\"},{\"id\":37,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/d590db2055f345db9706eb68a7ec151a.png\"},{\"id\":38,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/fe602f80700b4f6fb3c4a9e4c135510e.png\"},{\"id\":39,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/39ff2fcd31e04feba301a071976a0ba7.png\"},{\"id\":40,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/f9b61b3d113f436b828631837f89fb39.png\"},{\"id\":41,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/df1aca5f610c4ad48cd16da88c9c8499.png\"},{\"id\":42,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/d7acf73a1e6b41399a77a85040e10961.png\"},{\"id\":43,\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/b7f1b63542524b97962ff649ab4e7e23.png\"}],\"vip\":[{\"id\":1,\"vipUrl\":\"https:\\/\\/img-home.csdnimg.cn\\/images\\/20220920101150.png\",\"url\":\"https:\\/\\/img-home.csdnimg.cn\\/images\\/20220920101154.png\"},{\"id\":2,\"vipUrl\":\"https:\\/\\/img-home.csdnimg.cn\\/images\\/20220920101204.png\",\"url\":\"https:\\/\\/img-home.csdnimg.cn\\/images\\/20220920101208.png\"},{\"id\":3,\"vipUrl\":\"https:\\/\\/img-home.csdnimg.cn\\/images\\/20220920101211.png\",\"url\":\"https:\\/\\/img-home.csdnimg.cn\\/images\\/20220920101215.png\"},{\"id\":4,\"vipUrl\":\"https:\\/\\/img-home.csdnimg.cn\\/images\\/20220920101218.png\",\"url\":\"https:\\/\\/img-home.csdnimg.cn\\/images\\/20220920101220.png\"},{\"id\":5,\"vipUrl\":\"https:\\/\\/img-home.csdnimg.cn\\/images\\/20220920101223.png\",\"url\":\"https:\\/\\/img-home.csdnimg.cn\\/images\\/20220920101226.png\"},{\"id\":6,\"vipUrl\":\"https:\\/\\/img-home.csdnimg.cn\\/images\\/20220922100635.png\",\"url\":\"https:\\/\\/img-home.csdnimg.cn\\/images\\/20220922100639.png\"},{\"id\":7,\"vipUrl\":\"https:\\/\\/img-home.csdnimg.cn\\/images\\/20220922100642.png\",\"url\":\"https:\\/\\/img-home.csdnimg.cn\\/images\\/20220922100644.png\"},{\"id\":8,\"vipUrl\":\"https:\\/\\/img-home.csdnimg.cn\\/images\\/20220922100647.png\",\"url\":\"https:\\/\\/img-home.csdnimg.cn\\/images\\/20220922100649.png\"},{\"id\":9,\"vipUrl\":\"https:\\/\\/img-home.csdnimg.cn\\/images\\/20220922100652.png\",\"url\":\"https:\\/\\/img-home.csdnimg.cn\\/images\\/20220922100655.png\"},{\"id\":10,\"vipUrl\":\"https:\\/\\/img-blog.csdnimg.cn\\/55de67481fde4b04b97ad78f11fe369a.png\",\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/bb2418fb537e4d78b10d8765ccd810c5.png\"},{\"id\":11,\"vipUrl\":\"https:\\/\\/img-blog.csdnimg.cn\\/579c713394584d128104ef1044023954.png\",\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/f420d9fbcf5548079d31b5e809b6d6cd.png\"},{\"id\":12,\"vipUrl\":\"https:\\/\\/img-blog.csdnimg.cn\\/75b7f3155ba642f5a4cc16b7baf44122.png\",\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/a9030f5877be401f8b340b80b0d91e64.png\"},{\"id\":13,\"vipUrl\":\"https:\\/\\/img-blog.csdnimg.cn\\/0903d33cafa54934be3780aa54ae958d.png\",\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/2cd8c8929f5a42fca5da2a0aeb456203.png\"},{\"id\":14,\"vipUrl\":\"https:\\/\\/img-blog.csdnimg.cn\\/949fd7c22884439fbfc3c0e9c3b8dee7.png\",\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/dafbea9bd9eb4f3b962b48dc41657f89.png\"},{\"id\":15,\"vipUrl\":\"https:\\/\\/img-blog.csdnimg.cn\\/4119cfddd71d4e6a8a27a18dbb74d90e.png\",\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/c56310c8b6384d9e85388e4e342ce508.png\"},{\"id\":16,\"vipUrl\":\"https:\\/\\/img-blog.csdnimg.cn\\/121575274da142bcbbbbc2e8243dd411.png\",\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/5013993de06542f881018bb9abe2edf7.png\"},{\"id\":17,\"vipUrl\":\"https:\\/\\/img-blog.csdnimg.cn\\/4d97aa6dd4fe4f09a6bef5bdf8a6abcd.png\",\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/76f23877b6ad4066ad45ce8e31b4b977.png\"},{\"id\":18,\"vipUrl\":\"https:\\/\\/img-blog.csdnimg.cn\\/fdb619daf21b4c829de63b9ebc78859d.png\",\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/a1abe5d27a5441f599adfe662f510243.png\"},{\"id\":19,\"vipUrl\":\"https:\\/\\/img-blog.csdnimg.cn\\/676b7707bb11410f8f56bc0ed2b2345c.png\",\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/7ac5b467fbf24e1d8c2de3f3332c4f54.png\"},{\"id\":20,\"vipUrl\":\"https:\\/\\/img-blog.csdnimg.cn\\/0becb8cc227e4723b765bdd69a20fd4a.png\",\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/fdec85b26091486b9a89d0b8d45c3749.png\"},{\"id\":21,\"vipUrl\":\"https:\\/\\/img-blog.csdnimg.cn\\/1a6c06235ad44941b38c54cbc25a370c.png\",\"url\":\"https:\\/\\/img-blog.csdnimg.cn\\/410a06cda2d44b0c84578f88275caf70.png\"}],\"map\":{\"hot\":\"热门\",\"vip\":\"VIP\"}}";
      
      var canRead = true;
      var blogMoveHomeArticle = false;
      var showSearchText = "";
      var sideToolbarResult = "exp";
      var sideToolbarDeepseek = "exp1";
      var articleSource = 1;
      var articleReport = '{"pid": "blog", "spm":"1001.2101"}';
        var baiduSearchChannel = 'pc_relevant'
        var baiduSearchIdentification = '.235^v43^pc_blog_bottom_relevance_base7'
        var distRequestId = '1745740675597_35004'
        var initRewardObject = {
          giver: "2301_77659368",
          anchor: "u013171226",
          articleId: "132686757",
          sign: "d4ffda483f9024b78a1ae33826a7ed26",
        }
        var isLikeStatus = false;
        var isUnLikeStatus = false;
        var studyLearnWord = "";
        var unUseCount = 0;
        var codeMaxSize = 0;
        var overCost = true;
        var isCurrentUserVip = false;
        var contentViewsHeight = 0;
        var contentViewsCount = 0;
        var contentViewsCountLimit = 5;
        var isShowConcision = true
        var lastTime = "2023-11-02 17:55:13"
        var postTime = "2023-09-06 20:02:15"
      var isCookieConcision = false
      var isHasDirectoryModel = false
      var isShowSideModel = false
      var isShowDirectoryModel = true
      function getCookieConcision(sName){
        var allCookie = document.cookie.split("; ");
        for (var i=0; i < allCookie.length; i++){
          var aCrumb = allCookie[i].split("=");
          if (sName == aCrumb[0])
            return aCrumb[1];
        }
        return null;
      }
      if (getCookieConcision('blog_details_concision') && getCookieConcision('blog_details_concision') == 0){
        isCookieConcision = true
        isShowSideModel = true
        isShowDirectoryModel = false
      }
    </script>
        <div class="main_father clearfix d-flex justify-content-center" style="height:100%;">
          <div class="container clearfix" id="mainBox">
          <script>
          if (!isCookieConcision) {
            $('.main_father').removeClass('mainfather-concision')
            $('.main_father .container').removeClass('container-concision')
          } else {
            $('#mainBox').css('margin-right', '0')
          }
          </script>
          <main>
<script type="text/javascript">
    var resourceId =  "";
    function getQueryString(name) {   
      var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象  
      var r = window.location.search.substr(1).match(reg);  //匹配目标参数
      if( r != null ) return decodeURIComponent( r[2] ); return '';   
    }
    function stripscript(s){ 
      var pattern = new RegExp("[`~!@#$^&*()=|{}':;',\\[\\].<>/?~！@#￥……&*（）——|{}【】‘；：”“'。，、？%]") 
      var rs = ""; 
      for (var i = 0; i < s.length; i++) { 
        rs = rs+s.substr(i, 1).replace(pattern, ''); 
      } 
      return rs;
    }
    var blogHotWords = stripscript(getQueryString('utm_term')).length > 1 ? stripscript(getQueryString('utm_term')) : ''
</script>
<div class="blog-content-box">
    <div class="article-header-box">
        <div class="article-header">
            <div class="article-title-box">
                <h1 class="title-article" id="articleContentId">Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序</h1>
            </div>
            <div class="article-info-box">
                <div class="article-bar-top">
                    <img class="article-type-img" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/original.png" alt="">
                    <div class="bar-content">
                      <a class="follow-nickName " href="https://cumtchw.blog.csdn.net/" target="_blank" rel="noopener" title="陈 洪 伟">陈 洪 伟</a>
                    <img class="article-time-img article-heard-img" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/newUpTime2.png" alt="">
                    <span class="time">已于&nbsp;2023-11-02 17:55:13&nbsp;修改</span>
                   <div class="read-count-box">
                      <img class="article-read-img article-heard-img" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/articleReadEyes2.png" alt="">
                      <span class="read-count">阅读量3.5k</span>
                      <a id="blog_detail_zk_collection" class="un-collection" data-report-click="{&quot;mod&quot;:&quot;popu_823&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4232&quot;,&quot;ab&quot;:&quot;new&quot;}">
                          <img class="article-collect-img article-heard-img un-collect-status isdefault" style="display:inline-block" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/tobarCollect2.png" alt="">
                          <img class="article-collect-img article-heard-img collect-status isactive" style="display:none" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/tobarCollectionActive2.png" alt="">
                          <span class="name">收藏</span>
                          <span class="get-collection" style="color: rgb(153, 154, 170);">
                              52
                          </span>
                      </a>
                      <div class="read-count-box is-like" data-type="top">
                        <img class="article-read-img article-heard-img" style="display:none" id="is-like-imgactive-new" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/newHeart2023Active.png" alt="">
                        <img class="article-read-img article-heard-img" style="display:block" id="is-like-img-new" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/newHeart2023Black.png" alt="">
                        <span class="read-count" id="blog-digg-num">点赞数
                            13
                        </span>
                      </div>
                    </div>
                  </div>
                </div>
                <div class="blog-tags-box">
                    <div class="tags-box artic-tag-box">
                            <span class="label">分类专栏：</span>
                                <a class="tag-link" href="https://blog.csdn.net/u013171226/category_12375970.html" target="_blank" rel="noopener"># Linux驱动--驱动大全</a>
                            <span class="label">文章标签：</span>
                                <a rel="nofollow" data-report-query="spm=1001.2101.3001.4223" data-report-click="{&quot;mod&quot;:&quot;popu_626&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4223&quot;,&quot;strategy&quot;:&quot;linux&quot;,&quot;ab&quot;:&quot;new&quot;,&quot;extra&quot;:&quot;{\&quot;searchword\&quot;:\&quot;linux\&quot;}&quot;}" data-report-view="{&quot;mod&quot;:&quot;popu_626&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4223&quot;,&quot;strategy&quot;:&quot;linux&quot;,&quot;ab&quot;:&quot;new&quot;,&quot;extra&quot;:&quot;{\&quot;searchword\&quot;:\&quot;linux\&quot;}&quot;}" class="tag-link" href="https://so.csdn.net/so/search/s.do?q=linux&amp;t=all&amp;o=vip&amp;s=&amp;l=&amp;f=&amp;viparticle=&amp;from_tracking_code=tag_word&amp;from_code=app_blog_art" target="_blank">linux</a>
                                <a rel="nofollow" data-report-query="spm=1001.2101.3001.4223" data-report-click="{&quot;mod&quot;:&quot;popu_626&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4223&quot;,&quot;strategy&quot;:&quot;Linux驱动&quot;,&quot;ab&quot;:&quot;new&quot;,&quot;extra&quot;:&quot;{\&quot;searchword\&quot;:\&quot;Linux驱动\&quot;}&quot;}" data-report-view="{&quot;mod&quot;:&quot;popu_626&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4223&quot;,&quot;strategy&quot;:&quot;Linux驱动&quot;,&quot;ab&quot;:&quot;new&quot;,&quot;extra&quot;:&quot;{\&quot;searchword\&quot;:\&quot;Linux驱动\&quot;}&quot;}" class="tag-link" href="https://so.csdn.net/so/search/s.do?q=Linux%E9%A9%B1%E5%8A%A8&amp;t=all&amp;o=vip&amp;s=&amp;l=&amp;f=&amp;viparticle=&amp;from_tracking_code=tag_word&amp;from_code=app_blog_art" target="_blank">Linux驱动</a>
                    </div>
                </div>
                <div class="up-time"><span>于&nbsp;2023-09-06 20:02:15&nbsp;首次发布</span></div>
                <div class="slide-content-box">
                    <div class="article-copyright">
                        <div class="creativecommons">
                            版权声明：本文为博主原创文章，遵循<a href="http://creativecommons.org/licenses/by/4.0/" target="_blank" rel="noopener"> CC 4.0 BY </a>版权协议，转载请附上原文出处链接和本声明。
                        </div>
                        <div class="article-source-link">
                            本文链接：<a href="https://blog.csdn.net/u013171226/article/details/132686757" target="_blank">https://blog.csdn.net/u013171226/article/details/132686757</a>
                        </div>
                    </div>
                </div>
                
                <div class="operating">
                    <a class="href-article-edit slide-toggle">版权</a>
                </div>
            </div>
        </div>

    </div>
    
        <div id="blogColumnPayAdvert">
            <div class="column-group">
                <div class="column-group-item column-group0 column-group-item-one">
                    <div class="item-l">
                        <a class="item-target" href="https://blog.csdn.net/u013171226/category_12375970.html" target="_blank" title="Linux驱动--驱动大全" data-report-view="{&quot;spm&quot;:&quot;1001.2101.3001.6332&quot;}" data-report-click="{&quot;spm&quot;:&quot;1001.2101.3001.6332&quot;}">
                            <img class="item-target" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/b9346faac8287efffed28c8b2d898da7.png" alt="">
                            <span class="title item-target">
                                <span>
                                <span class="tit">Linux驱动--驱动大全</span>
                                    <span class="dec">专栏收录该内容</span>
                                </span>
                            </span>
                        </a>
                    </div>
                    <div class="item-m">
                        <span>8 篇文章</span>
                    </div>
                    <div class="item-r">
                            <a class="item-target article-column-bt articleColumnFreeBt" data-id="12375970">订阅专栏</a>
                    </div>
                </div>
            </div>
        </div>
    <article class="baidu_pl">
        <div id="article_content" class="article_content clearfix">
        <link rel="stylesheet" href="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/kdoc_html_views-1a98987dfd.css">
        <link rel="stylesheet" href="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/ck_htmledit_views-704d5b9767.css">
             
                <div id="content_views" class="htmledit_views">
                    <p id="main-toc"><strong>目录</strong></p> 
<p id="" style="margin: 0px 0px 2px; padding-left: 24px;"><a href="https://blog.csdn.net/u013171226/article/details/132686757#t0" rel="nofollow" target="_self">1 引入</a></p> 
<p id="" style="margin: 0px 0px 2px; padding-left: 24px;"><a href="https://blog.csdn.net/u013171226/article/details/132686757#t1" rel="nofollow" target="_self">2 GPIO子系统的层次</a></p> 
<p id="" style="margin: 0px 0px 2px; padding-left: 24px;"><a href="https://blog.csdn.net/u013171226/article/details/132686757#t2" rel="nofollow" target="_self">3 gpio子系统驱动程序流程</a></p> 
<p id="" style="margin: 0px 0px 2px; padding-left: 24px;"><a href="https://blog.csdn.net/u013171226/article/details/132686757#t3" rel="nofollow" target="_self">4 gpio子系统的重要数据结构</a></p> 
<p id="" style="margin: 0px 0px 2px; padding-left: 24px;"><a href="https://blog.csdn.net/u013171226/article/details/132686757#t4" rel="nofollow" target="_self">5 gpio子系统函数调用的详细细节</a></p> 
<p id="" style="margin: 0px 0px 2px; padding-left: 24px;"><a href="https://blog.csdn.net/u013171226/article/details/132686757#t5" rel="nofollow" target="_self">6 GPIO子系统的sysfs接口</a></p> 
<p id="" style="margin: 0px 0px 2px 48px; padding-left: 24px;"><a href="https://blog.csdn.net/u013171226/article/details/132686757#t6" rel="nofollow" target="_self">6.1有哪些gpio控制器</a></p> 
<p id="" style="margin: 0px 0px 2px 48px; padding-left: 24px;"><a href="https://blog.csdn.net/u013171226/article/details/132686757#t7" rel="nofollow" target="_self">6.2每个gpio控制器的详细信息</a></p> 
<p id="" style="margin: 0px 0px 2px 48px; padding-left: 24px;"><a href="https://blog.csdn.net/u013171226/article/details/132686757#t8" rel="nofollow" target="_self">6.3查看gpio使用情况</a></p> 
<p id="" style="margin: 0px 0px 2px 48px; padding-left: 24px;"><a href="https://blog.csdn.net/u013171226/article/details/132686757#t9" rel="nofollow" target="_self">6.4通过SYSFS使用GPIO</a></p> 
<p id="" style="margin: 0px 0px 2px 96px; padding-left: 24px;"><a href="https://blog.csdn.net/u013171226/article/details/132686757#t10" rel="nofollow" target="_self">6.4.1 确定GPIO编号</a></p> 
<p id="" style="margin: 0px 0px 2px 96px; padding-left: 24px;"><a href="https://blog.csdn.net/u013171226/article/details/132686757#t11" rel="nofollow" target="_self">6.4.2 导出、设置方向、读写值</a></p> 
<p id="" style="margin: 0px 0px 2px; padding-left: 24px;"><a href="https://blog.csdn.net/u013171226/article/details/132686757#t12" rel="nofollow" target="_self">7 费曼学习法：于是我录制了一个讲解gpio子系统的学习视频</a></p> 
<p id="" style="margin: 0px 0px 2px; padding-left: 24px;"><a href="https://blog.csdn.net/u013171226/article/details/132686757#t13" rel="nofollow" target="_self">8 基于pinctrl子系统和gpio子系统的LED驱动程序</a></p> 
<p id="" style="margin: 0px 0px 2px 48px; padding-left: 24px;"><a href="https://blog.csdn.net/u013171226/article/details/132686757#t14" rel="nofollow" target="_self">8.1 查看原理图确定引脚</a></p> 
<p id="" style="margin: 0px 0px 2px 48px; padding-left: 24px;"><a href="https://blog.csdn.net/u013171226/article/details/132686757#t15" rel="nofollow" target="_self">8.2 修改设备树文件</a></p> 
<p id="" style="margin: 0px 0px 2px 96px; padding-left: 24px;"><a href="https://blog.csdn.net/u013171226/article/details/132686757#t16" rel="nofollow" target="_self">8.2.1 设备树中增加pinctrl信息</a></p> 
<p id="" style="margin: 0px 0px 2px 96px; padding-left: 24px;"><a href="https://blog.csdn.net/u013171226/article/details/132686757#t17" rel="nofollow" target="_self">8.2.2 设备中增加led节点信息</a></p> 
<p id="" style="margin: 0px 0px 2px 48px; padding-left: 24px;"><a href="https://blog.csdn.net/u013171226/article/details/132686757#t18" rel="nofollow" target="_self">8.3 编写代码</a></p> 
<p id="" style="margin: 0px 0px 2px 96px; padding-left: 24px;"><a href="https://blog.csdn.net/u013171226/article/details/132686757#t19" rel="nofollow" target="_self">8.3.1驱动程序leddrv.c</a></p> 
<p id="" style="margin: 0px 0px 2px 96px; padding-left: 24px;"><a href="https://blog.csdn.net/u013171226/article/details/132686757#t20" rel="nofollow" target="_self">8.3.2 测试程序ledtest.c</a></p> 
<p id="" style="margin: 0px 0px 2px 96px; padding-left: 24px;"><a href="https://blog.csdn.net/u013171226/article/details/132686757#t21" rel="nofollow" target="_self">8.3.3 Makefile</a></p> 
<p id="" style="margin: 0px 0px 2px 48px; padding-left: 24px;"><a href="https://blog.csdn.net/u013171226/article/details/132686757#t22" rel="nofollow" target="_self">8.4 实验</a></p> 
<p id="" style="margin: 0px 0px 2px 96px; padding-left: 24px;"><a href="https://blog.csdn.net/u013171226/article/details/132686757#t23" rel="nofollow" target="_self">8.4.1 编译设备树文件</a></p> 
<p id="" style="margin: 0px 0px 2px 96px; padding-left: 24px;"><a href="https://blog.csdn.net/u013171226/article/details/132686757#t24" rel="nofollow" target="_self">8.4.2 编译驱动和测试程序</a></p> 
<p id="" style="margin: 0px 0px 2px 96px; padding-left: 24px;"><a href="https://blog.csdn.net/u013171226/article/details/132686757#t25" rel="nofollow" target="_self">8.4.3 替换设备树、驱动以及测试程序</a></p> 
<hr id="hr-toc"> 
<p></p> 
<h2 id="1%20%E5%BC%95%E5%85%A5"><a name="t0"></a>1 引入</h2> 
<p><img alt="" height="425" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/52fdf1f2fd40a7d710f168dffe63c3eb.png" width="1200"></p> 
<p>当我们想用某个引脚控制LED灯的亮灭时，一般来说我们需要使能时钟，然后将引脚配置为GPIO功能，然后配置电气属性，然后配置GPIO为输出，最后根据原理图控制GPIO的输出电平，其中配置GPIO的方向以及电平是由GPIO子系统来做的。</p> 
<h2 id="2%20GPIO%E5%AD%90%E7%B3%BB%E7%BB%9F%E7%9A%84%E5%B1%82%E6%AC%A1"><a name="t1"></a>2 GPIO子系统的层次</h2> 
<p><img alt="" height="1200" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/ef449ad8d0b7a53d3478d1c446e11566.png" width="1200"></p> 
<p>上图就是gpio子系统的层次结构图，在其他的驱动程序里面，我们可以直接用gpiod_set_value这种函数来设置引脚的值，这个函数是在gpio库里面定义的，gpio库起到一个承上启下的作用，然后这个gpiod_set_value函数最终调用的是chip-&gt;set(chip, gpio_chip_hwgpio(desc), value)函数，这里的chip就是在gpio驱动程序里面注册的<span class="edu-hl hl hl-1" data-report-view="{&quot;spm&quot;:&quot;1001.2101.3001.7020&quot;,&quot;extra&quot;:&quot;{\&quot;word\&quot;:\&quot;结构体\&quot;}&quot;}" data-report-click="{&quot;spm&quot;:&quot;1001.2101.3001.7020&quot;,&quot;extra&quot;:&quot;{\&quot;word\&quot;:\&quot;结构体\&quot;}&quot;}" data-tit="结构体" data-pretit="结构体">结构体</span>，这个结构体体里面就包含了一些对gpio的操作函数。</p> 
<h2 id="3%20gpio%E5%AD%90%E7%B3%BB%E7%BB%9F%E9%A9%B1%E5%8A%A8%E7%A8%8B%E5%BA%8F%E6%B5%81%E7%A8%8B"><a name="t2"></a>3 gpio子系统驱动程序流程</h2> 
<p><img alt="" height="1200" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/684d777fbeae6b4336d68ea876d2522e.png" width="1200"></p> 
<p>上图是我根据<span class="words-blog hl-git-1" data-report-view="{&quot;spm&quot;:&quot;1001.2101.3001.10283&quot;,&quot;extra&quot;:&quot;{\&quot;words\&quot;:\&quot;Linux\&quot;}&quot;}" data-tit="Linux" data-pretit="linux">Linux</span>内核源码画的一个GPIO驱动程序流程图，我们在设备树中的<a href="https://so.csdn.net/so/search?q=gpio%E6%8E%A7%E5%88%B6&amp;spm=1001.2101.3001.7020" target="_blank" class="hl hl-1" data-report-view="{&quot;spm&quot;:&quot;1001.2101.3001.7020&quot;,&quot;dest&quot;:&quot;https://so.csdn.net/so/search?q=gpio%E6%8E%A7%E5%88%B6&amp;spm=1001.2101.3001.7020&quot;,&quot;extra&quot;:&quot;{\&quot;searchword\&quot;:\&quot;gpio控制\&quot;}&quot;}" data-report-click="{&quot;spm&quot;:&quot;1001.2101.3001.7020&quot;,&quot;dest&quot;:&quot;https://so.csdn.net/so/search?q=gpio%E6%8E%A7%E5%88%B6&amp;spm=1001.2101.3001.7020&quot;,&quot;extra&quot;:&quot;{\&quot;searchword\&quot;:\&quot;gpio控制\&quot;}&quot;}" data-tit="gpio控制" data-pretit="gpio控制">gpio控制</a>器节点里面的compatible为fsl,imx35-gpio,然后我们在内核源码中搜索，可以找到匹配的驱动为mxc_gpio_driver,然后当device和driver相匹配之后，会调用驱动程序里面的probe函数，在这里也就是mxc_gpio_probe函数，然后在这个mxc_gpio_probe函数里面其实就是做了下面三个工作</p> 
<ul><li>分配结构体</li><li>设置结构体</li><li>注册结构体</li></ul> 
<p>mxc_gpio_probe函数具体做的工作：首先调用了mxc_gpio_get_hw函数，这个函数是获取了gpio寄存器组的偏移地址，然后还一个platform_get_resource函数，这个platform_get_resource函数是得到了gpio的寄存器的基地址，然后调用了devm_kzalloc分配了一个mxc_gpio_port结构体，</p> 
<pre data-index="0" class="set-code-show" name="code"><code class="language-cpp hljs"><ol class="hljs-ln" style="width:100%"><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="1"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-keyword">struct</span> <span class="hljs-title class_">mxc_gpio_port</span> {</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="2"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">    <span class="hljs-keyword">struct</span> <span class="hljs-title class_">list_head</span> node;</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="3"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">    <span class="hljs-keyword">struct</span> <span class="hljs-title class_">clk</span> *clk;</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="4"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">    <span class="hljs-type">void</span> __iomem *base;</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="5"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">    <span class="hljs-type">int</span> irq;</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="6"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">    <span class="hljs-type">int</span> irq_high;</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="7"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">    <span class="hljs-keyword">struct</span> <span class="hljs-title class_">irq_domain</span> *domain;</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="8"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">    <span class="hljs-keyword">struct</span> <span class="hljs-title class_">gpio_chip</span> gc;</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="9"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">    u32 both_edges;</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="10"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">    <span class="hljs-type">int</span> saved_reg[<span class="hljs-number">6</span>];</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="11"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">    <span class="hljs-type">bool</span> gpio_ranges;</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="12"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">};</div></div></li></ol></code><div class="hljs-button {2} add_def" data-title="复制" onclick="hljs.copyCode(event)"></div><button class="btn-code-notes ckeditor" data-report-view-hover="{&quot;spm&quot;:&quot;3001.10436&quot;,&quot;dest&quot;:&quot;https://trae.com.cn?utm_source=community&amp;utm_medium=csdn&amp;utm_campaign=daima&quot;,&quot;extra&quot;:{&quot;index&quot;:0,&quot;runIdx&quot;:-1}}" data-report-click="{&quot;spm&quot;:&quot;3001.10436&quot;,&quot;dest&quot;:&quot;https://trae.com.cn?utm_source=community&amp;utm_medium=csdn&amp;utm_campaign=daima&quot;,&quot;extra&quot;:{&quot;index&quot;:0,&quot;runIdx&quot;:-1}}">AI写代码</button></pre> 
<p>然后这个mxc_gpio_port结构体里面有一个重要的gpio_chip结构体成员。</p> 
<pre data-index="1" class="set-code-hide" name="code"><code class="language-cpp hljs"><ol class="hljs-ln" style="width:100%"><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="1"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-keyword">struct</span> <span class="hljs-title class_">gpio_chip</span> {</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="2"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">    <span class="hljs-type">const</span> <span class="hljs-type">char</span>      *label;</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="3"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">    <span class="hljs-keyword">struct</span> <span class="hljs-title class_">gpio_device</span>  *gpiodev;</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="4"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">    <span class="hljs-keyword">struct</span> <span class="hljs-title class_">device</span>       *parent;</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="5"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">    <span class="hljs-keyword">struct</span> <span class="hljs-title class_">module</span>       *owner;</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="6"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">    ...省略一些...</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="7"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">    <span class="hljs-built_in">int</span>         (*direction_input)(<span class="hljs-keyword">struct</span> gpio_chip *chip,</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="8"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">                        <span class="hljs-type">unsigned</span> offset);</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="9"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">    <span class="hljs-built_in">int</span>         (*direction_output)(<span class="hljs-keyword">struct</span> gpio_chip *chip,</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="10"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">                        <span class="hljs-type">unsigned</span> offset, <span class="hljs-type">int</span> value);</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="11"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">    <span class="hljs-built_in">int</span>         (*get)(<span class="hljs-keyword">struct</span> gpio_chip *chip,</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="12"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">                        <span class="hljs-type">unsigned</span> offset);</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="13"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">    <span class="hljs-built_in">void</span>            (*set)(<span class="hljs-keyword">struct</span> gpio_chip *chip,</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="14"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">                        <span class="hljs-type">unsigned</span> offset, <span class="hljs-type">int</span> value);</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="15"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">     ...省略一些...</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="16"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">                        <span class="hljs-keyword">enum</span> <span class="hljs-title class_">single_ended_mode</span> mode);</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="17"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">    <span class="hljs-built_in">int</span>         (*to_irq)(<span class="hljs-keyword">struct</span> gpio_chip *chip,</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="18"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">                        <span class="hljs-type">unsigned</span> offset);</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="19"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">    <span class="hljs-built_in">void</span>            (*dbg_show)(<span class="hljs-keyword">struct</span> seq_file *s,</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="20"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">                        <span class="hljs-keyword">struct</span> gpio_chip *chip);</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="21"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">     ...省略一些...</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="22"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">};</div></div></li></ol></code><div class="hide-preCode-box"><span class="hide-preCode-bt" data-report-view="{&quot;spm&quot;:&quot;1001.2101.3001.7365&quot;}"><img class="look-more-preCode contentImg-no-view" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/newCodeMoreWhite.png" alt="" title=""></span></div><div class="hljs-button {2} add_def" data-title="复制" onclick="hljs.copyCode(event)"></div><button class="btn-code-notes ckeditor" data-report-view-hover="{&quot;spm&quot;:&quot;3001.10436&quot;,&quot;dest&quot;:&quot;https://trae.com.cn?utm_source=community&amp;utm_medium=csdn&amp;utm_campaign=daima&quot;,&quot;extra&quot;:{&quot;index&quot;:1,&quot;runIdx&quot;:-1}}" data-report-click="{&quot;spm&quot;:&quot;3001.10436&quot;,&quot;dest&quot;:&quot;https://trae.com.cn?utm_source=community&amp;utm_medium=csdn&amp;utm_campaign=daima&quot;,&quot;extra&quot;:{&quot;index&quot;:1,&quot;runIdx&quot;:-1}}">AI写代码</button></pre> 
<p>这个gpio_chip里面就是各种操作函数。</p> 
<p>然后probe函数里面又调用了下面这个函数</p> 
<pre data-index="2" class="set-code-show" name="code"><code class="language-cpp hljs"><ol class="hljs-ln" style="width:100%"><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="1"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">    err = <span class="hljs-built_in">bgpio_init</span>(&amp;port-&gt;gc, &amp;pdev-&gt;dev, <span class="hljs-number">4</span>,</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="2"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">             port-&gt;base + GPIO_PSR,</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="3"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">             port-&gt;base + GPIO_DR, <span class="hljs-literal">NULL</span>,</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="4"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">             port-&gt;base + GPIO_GDIR, <span class="hljs-literal">NULL</span>,</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="5"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">             BGPIOF_READ_OUTPUT_REG_SET);</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="6"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">这里的参数    </div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="7"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">port-&gt;base + GPIO_PSR,</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="8"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">port-&gt;base + GPIO_DR, </div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="9"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">port-&gt;base + GPIO_GDIR, </div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="10"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">就是寄存器地址</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="11"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">设置完结构体之后，这个结构体里面有寄存器值也有操作函数。</div></div></li></ol></code><div class="hljs-button {2} add_def" data-title="复制" onclick="hljs.copyCode(event)"></div><button class="btn-code-notes ckeditor" data-report-view-hover="{&quot;spm&quot;:&quot;3001.10436&quot;,&quot;dest&quot;:&quot;https://trae.com.cn?utm_source=community&amp;utm_medium=csdn&amp;utm_campaign=daima&quot;,&quot;extra&quot;:{&quot;index&quot;:2,&quot;runIdx&quot;:-1}}" data-report-click="{&quot;spm&quot;:&quot;3001.10436&quot;,&quot;dest&quot;:&quot;https://trae.com.cn?utm_source=community&amp;utm_medium=csdn&amp;utm_campaign=daima&quot;,&quot;extra&quot;:{&quot;index&quot;:2,&quot;runIdx&quot;:-1}}">AI写代码</button></pre> 
<p>在这个bgpio_init函数里面主要调用了下面三个函数</p> 
<pre data-index="3" class="set-code-show" name="code"><code class="language-cpp hljs"><ol class="hljs-ln" style="width:100%"><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="1"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-built_in">bgpio_setup_io</span>(gc, dat, set, clr, flags);</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="2"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-built_in">bgpio_setup_accessors</span>(dev, gc, flags &amp; BGPIOF_BIG_ENDIAN,</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="3"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">                    flags &amp; BGPIOF_BIG_ENDIAN_BYTE_ORDER);</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="4"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-built_in">bgpio_setup_direction</span>(gc, dirout, dirin, flags);</div></div></li></ol></code><div class="hljs-button {2} add_def" data-title="复制" onclick="hljs.copyCode(event)"></div><button class="btn-code-notes ckeditor" data-report-view-hover="{&quot;spm&quot;:&quot;3001.10436&quot;,&quot;dest&quot;:&quot;https://trae.com.cn?utm_source=community&amp;utm_medium=csdn&amp;utm_campaign=daima&quot;,&quot;extra&quot;:{&quot;index&quot;:3,&quot;runIdx&quot;:-1}}" data-report-click="{&quot;spm&quot;:&quot;3001.10436&quot;,&quot;dest&quot;:&quot;https://trae.com.cn?utm_source=community&amp;utm_medium=csdn&amp;utm_campaign=daima&quot;,&quot;extra&quot;:{&quot;index&quot;:3,&quot;runIdx&quot;:-1}}">AI写代码</button></pre> 
<p>然后这三个函数里面就是gpio的各种操作函数。然后调用了err = devm_gpiochip_add_data(&amp;pdev-&gt;dev, &amp;port-&gt;gc, port);函数，这个函数里面是分配了gpio_device结构体，然后gpio_device结构体里面的chip成员就是前面分配设置的gpio_chip结构体。</p> 
<h2 id="4%20gpio%E5%AD%90%E7%B3%BB%E7%BB%9F%E7%9A%84%E4%B8%AD%E8%8D%AF%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84"><a name="t3"></a>4 gpio子系统的重要<span class="edu-hl hl hl-1" data-report-view="{&quot;spm&quot;:&quot;1001.2101.3001.7020&quot;,&quot;extra&quot;:&quot;{\&quot;word\&quot;:\&quot;数据结构\&quot;}&quot;}" data-report-click="{&quot;spm&quot;:&quot;1001.2101.3001.7020&quot;,&quot;extra&quot;:&quot;{\&quot;word\&quot;:\&quot;数据结构\&quot;}&quot;}" data-tit="数据结构" data-pretit="数据结构">数据结构</span></h2> 
<p><img alt="" height="1200" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/a304ef0414260173d67a6ad03982098f.png" width="1200"></p> 
<p>我们前面说过，我们要分配设置注册一个gpio_chip结构体，然后我们用gpiochip_add_data(chip, data);函数注册了一个gpio_device结构体，然后这个gpio_device结构体里面就包含gpio_chip结构体，然后这个gpio_device结构体里面除了chip成员外，还有descs成员，这个是用来表示引脚的，每一个引脚都有一个descs结构体，然后descs结构体里面有一个gdev成员，我们可以根据这个gdev成员找到这个引脚属于哪一个gpio控制器。</p> 
<h2 id="5%20gpio%E5%AD%90%E7%B3%BB%E7%BB%9F%E5%87%BD%E6%95%B0%E8%B0%83%E7%94%A8%E7%9A%84%E8%AF%A6%E7%BB%86%E7%BB%86%E8%8A%82"><a name="t4"></a>5 gpio子系统函数调用的详细细节</h2> 
<p><img alt="" height="1200" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/1221fa9546a9e9d5aea8741865181863.png" width="1200"></p> 
<p>上图是gpio子系统的函数调用具体细节，我们一个gpio控制器就对应一个gpio_device结构体，然后这个结构体里面有</p> 
<ul><li>base成员，base成员是这个gpio控制器里面引脚的起始标号，</li><li>ngpio是引脚的个数，</li><li>descs成员是一个结构体数组，里面每一项都是一个gpio_desc结构体，都表示一个引脚。</li></ul> 
<p>然后加入我们设备树里面有一个</p> 
<pre data-index="4" class="set-code-show" name="code"><code class="language-cpp hljs"><ol class="hljs-ln" style="width:100%"><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="1"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">myled{</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="2"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">        compatible = <span class="hljs-string">"cumtchw"</span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="3"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">        led-gpios = &lt;&amp;gpio1  <span class="hljs-number">10</span>  GPIO_ACTIVE_LOW&gt;        </div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="4"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">};</div></div></li></ol></code><div class="hljs-button {2} add_def" data-title="复制" onclick="hljs.copyCode(event)"></div><button class="btn-code-notes ckeditor" data-report-view-hover="{&quot;spm&quot;:&quot;3001.10436&quot;,&quot;dest&quot;:&quot;https://trae.com.cn?utm_source=community&amp;utm_medium=csdn&amp;utm_campaign=daima&quot;,&quot;extra&quot;:{&quot;index&quot;:4,&quot;runIdx&quot;:-1}}" data-report-click="{&quot;spm&quot;:&quot;3001.10436&quot;,&quot;dest&quot;:&quot;https://trae.com.cn?utm_source=community&amp;utm_medium=csdn&amp;utm_campaign=daima&quot;,&quot;extra&quot;:{&quot;index&quot;:4,&quot;runIdx&quot;:-1}}">AI写代码</button></pre> 
<p>那么当我们调用led_gpio = gpiod_get(&amp;pdev-&gt;dev, "led", 0);函数时，那么就是根据led-gpios = &lt;&amp;gpio1 10 GPIO_ACTIVE_LOW&gt; 可以得到是gpio1控制器里面的第10项，那么led_gpio就指向descs<span class="edu-hl hl hl-1" data-report-view="{&quot;spm&quot;:&quot;1001.2101.3001.7020&quot;,&quot;extra&quot;:&quot;{\&quot;word\&quot;:\&quot;数组\&quot;}&quot;}" data-report-click="{&quot;spm&quot;:&quot;1001.2101.3001.7020&quot;,&quot;extra&quot;:&quot;{\&quot;word\&quot;:\&quot;数组\&quot;}&quot;}" data-tit="数组" data-pretit="数组">数组</span>里面的第10项，然后我们这个desc其实就可找到这个引脚对应的控制器，然后那么当我们用gpiod_set_value(led_gpio, status);这个函数去设置引脚的时候就会找到控制器里面的chip-&gt;set(chip, gpio_chip_hwgpio(desc), value);然后这个函数的第二个参数是指设置这个控制器的第几个引脚，这里的第二个参数是这么得到的</p> 
<pre data-index="5" class="set-code-show" name="code"><code class="language-cpp hljs"><ol class="hljs-ln" style="width:100%"><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="1"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-function"><span class="hljs-type">static</span> <span class="hljs-type">int</span> __maybe_unused <span class="hljs-title">gpio_chip_hwgpio</span><span class="hljs-params">(<span class="hljs-type">const</span> <span class="hljs-keyword">struct</span> gpio_desc *desc)</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="2"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">{</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="3"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">    <span class="hljs-keyword">return</span> desc - &amp;desc-&gt;gdev-&gt;descs[<span class="hljs-number">0</span>];</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="4"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">}  这里就是<span class="hljs-number">10</span></div></div></li></ol></code><div class="hljs-button {2} add_def" data-title="复制" onclick="hljs.copyCode(event)"></div><button class="btn-code-notes ckeditor" data-report-view-hover="{&quot;spm&quot;:&quot;3001.10436&quot;,&quot;dest&quot;:&quot;https://trae.com.cn?utm_source=community&amp;utm_medium=csdn&amp;utm_campaign=daima&quot;,&quot;extra&quot;:{&quot;index&quot;:5,&quot;runIdx&quot;:-1}}" data-report-click="{&quot;spm&quot;:&quot;3001.10436&quot;,&quot;dest&quot;:&quot;https://trae.com.cn?utm_source=community&amp;utm_medium=csdn&amp;utm_campaign=daima&quot;,&quot;extra&quot;:{&quot;index&quot;:5,&quot;runIdx&quot;:-1}}">AI写代码</button></pre> 
<h2 id="6%20GPIO%E5%AD%90%E7%B3%BB%E7%BB%9F%E7%9A%84sysfs%E6%8E%A5%E5%8F%A3"><a name="t5"></a>6 GPIO子系统的sysfs接口</h2> 
<p>驱动程序为`drivers\gpio\gpiolib-sysfs.c`，</p> 
<h3 id="6.1%E6%9C%89%E5%93%AA%E4%BA%9Bgpio%E6%8E%A7%E5%88%B6%E5%99%A8"><a name="t6"></a>6.1有哪些gpio控制器</h3> 
<p>/sys/bus/gpio/devices`目录下，列出了所有的GPIO控制器：</p> 
<p><img alt="" height="119" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/5a3924533adba3cd69e2707d74177f4a.png" width="1116"></p> 
<h3 id="6.2%E6%AF%8F%E4%B8%AAgpio%E6%8E%A7%E5%88%B6%E5%99%A8%E7%9A%84%E8%AF%A6%E7%BB%86%E4%BF%A1%E6%81%AF"><a name="t7"></a>6.2每个gpio控制器的详细信息</h3> 
<p>&nbsp;/sys/class/gpio/gpiochipXXX`下，有这些信息：</p> 
<p><img alt="" height="139" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/89776fd622839b3f9587360705683f65.png" width="823"></p> 
<blockquote> 
 <p>&nbsp;base &nbsp; &nbsp; // 这个GPIO控制器的GPIO编号<br> device<br> label &nbsp; &nbsp;// 名字<br> ngpio &nbsp; &nbsp;// 引脚个数<br> power<br> subsystem<br> uevent</p> 
</blockquote> 
<h3 id="6.3%E6%9F%A5%E7%9C%8Bgpio%E4%BD%BF%E7%94%A8%E6%83%85%E5%86%B5"><a name="t8"></a>6.3查看gpio使用情况</h3> 
<pre data-index="6" class="set-code-show" name="code"><code class="language-bash hljs">&nbsp;<span class="hljs-built_in">cat</span> /sys/kernel/debug/gpio</code><div class="hljs-button {2} add_def" data-title="复制" onclick="hljs.copyCode(event)"></div><button class="btn-code-notes ckeditor" data-report-view-hover="{&quot;spm&quot;:&quot;3001.10436&quot;,&quot;dest&quot;:&quot;https://trae.com.cn?utm_source=community&amp;utm_medium=csdn&amp;utm_campaign=daima&quot;,&quot;extra&quot;:{&quot;index&quot;:6,&quot;runIdx&quot;:-1}}" data-report-click="{&quot;spm&quot;:&quot;3001.10436&quot;,&quot;dest&quot;:&quot;https://trae.com.cn?utm_source=community&amp;utm_medium=csdn&amp;utm_campaign=daima&quot;,&quot;extra&quot;:{&quot;index&quot;:6,&quot;runIdx&quot;:-1}}">AI写代码</button></pre> 
<p><img alt="" height="438" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/c4b0f6397b158e3eac480e3d8786c46a.png" width="599"></p> 
<h3 id="6.4%E9%80%9A%E8%BF%87SYSFS%E4%BD%BF%E7%94%A8GPIO"><a name="t9"></a>6.4通过SYSFS使用GPIO</h3> 
<p>如果只是简单的引脚控制(比如输出、查询输入值)，可以不编写驱动程序。</p> 
<p>但是涉及中断的话，就需要编写驱动程序了。</p> 
<h4 id="6.4.1%20%E7%A1%AE%E5%AE%9AGPIO%E7%BC%96%E5%8F%B7"><a name="t10"></a>6.4.1 确定GPIO编号</h4> 
<p>查看每个`/sys/class/gpio/gpiochipXXX`目录下的label，确定是你要用的GPIO控制器，也称为GPIO Bank。<img alt="" height="274" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/1dc616a9f25e52c940577af8b54ed4b8.png" width="1200"></p> 
<p>这里的20a8000就是gpio控制器的寄存器地址，然后可以去设备树中搜索是哪一个gpio控制器的地址，</p> 
<pre data-index="7" class="set-code-show" name="code"><code class="language-cpp hljs"><ol class="hljs-ln" style="width:100%"><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="1"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">			gpio4: gpio@<span class="hljs-number">020</span>a8000 {</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="2"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">				compatible = <span class="hljs-string">"fsl,imx6q-gpio"</span>, <span class="hljs-string">"fsl,imx35-gpio"</span>;</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="3"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">				reg = &lt;<span class="hljs-number">0x020a8000</span> <span class="hljs-number">0x4000</span>&gt;;</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="4"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">				interrupts = &lt;<span class="hljs-number">0</span> <span class="hljs-number">72</span> IRQ_TYPE_LEVEL_HIGH&gt;,</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="5"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">					     &lt;<span class="hljs-number">0</span> <span class="hljs-number">73</span> IRQ_TYPE_LEVEL_HIGH&gt;;</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="6"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">				gpio-controller;</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="7"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">				<span class="hljs-meta">#gpio-cells = <span class="hljs-string">&lt;2&gt;</span>;</span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="8"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">				interrupt-controller;</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="9"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">				<span class="hljs-meta">#interrupt-cells = <span class="hljs-string">&lt;2&gt;</span>;</span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="10"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">			};</div></div></li></ol></code><div class="hljs-button {2} add_def" data-title="复制" onclick="hljs.copyCode(event)"></div><button class="btn-code-notes ckeditor" data-report-view-hover="{&quot;spm&quot;:&quot;3001.10436&quot;,&quot;dest&quot;:&quot;https://trae.com.cn?utm_source=community&amp;utm_medium=csdn&amp;utm_campaign=daima&quot;,&quot;extra&quot;:{&quot;index&quot;:7,&quot;runIdx&quot;:-1}}" data-report-click="{&quot;spm&quot;:&quot;3001.10436&quot;,&quot;dest&quot;:&quot;https://trae.com.cn?utm_source=community&amp;utm_medium=csdn&amp;utm_campaign=daima&quot;,&quot;extra&quot;:{&quot;index&quot;:7,&quot;runIdx&quot;:-1}}">AI写代码</button></pre> 
<p>根据它名字gpiochipXXX，就可以知道基值是XXX。那么96就对应gpio4里的pin0，</p> 
<p>基值加上引脚offset，就是这个引脚的编号。那么如果gpio4里面的20就是96+20=116.</p> 
<h4 id="6.4.2%20%E5%AF%BC%E5%87%BA%E3%80%81%E8%AE%BE%E7%BD%AE%E6%96%B9%E5%90%91%E3%80%81%E8%AF%BB%E5%86%99%E5%80%BC"><a name="t11"></a>6.4.2 导出、设置方向、读写值</h4> 
<blockquote> 
 <p>echo 509 &gt; /sys/class/gpio/export<br> echo out &gt; /sys/class/gpio/gpio509/direction<br> echo 1 &gt; /sys/class/gpio/gpio509/value<br> echo 509 &gt; /sys/class/gpio/unexport</p> 
 <p>echo 509 &gt; /sys/class/gpio/export<br> echo in &gt; /sys/class/gpio/gpio509/direction<br> cat /sys/class/gpio/gpio509/value<br> echo 509 &gt; /sys/class/gpio/unexport</p> 
</blockquote> 
<h2 id="7%20%E8%B4%B9%E6%9B%BC%E5%AD%A6%E4%B9%A0%E6%B3%95%EF%BC%9A%E4%BA%8E%E6%98%AF%E6%88%91%E5%BD%95%E5%88%B6%E4%BA%86%E4%B8%80%E4%B8%AA%E8%AE%B2%E8%A7%A3gpio%E5%AD%90%E7%B3%BB%E7%BB%9F%E7%9A%84%E5%AD%A6%E4%B9%A0%E8%A7%86%E9%A2%91"><a name="t12"></a>7 费曼学习法：于是我录制了一个讲解gpio子系统的学习视频</h2> 
<p><a href="https://www.bilibili.com/video/BV1Rj41117vc/?spm_id_from=333.999.0.0&amp;vd_source=ad92041b1b4452eed564be6b47d7237d" title="10分钟讲解Linux内核中的GPIO子系统驱动框架_哔哩哔哩_bilibili">10分钟讲解Linux内核中的GPIO子系统驱动框架_哔哩哔哩_bilibili</a></p> 
<h2 id="8%20%E5%9F%BA%E4%BA%8Epinctrl%E5%AD%90%E7%B3%BB%E7%BB%9F%E5%92%8Cgpio%E5%AD%90%E7%B3%BB%E7%BB%9F%E7%9A%84LED%E9%A9%B1%E5%8A%A8%E7%A8%8B%E5%BA%8F"><a name="t13"></a>8 基于pinctrl子系统和gpio子系统的LED驱动程序</h2> 
<h3 id="8.1%20%E6%9F%A5%E7%9C%8B%E5%8E%9F%E7%90%86%E5%9B%BE%E7%A1%AE%E5%AE%9A%E5%BC%95%E8%84%9A"><a name="t14"></a>8.1 查看原理图确定引脚</h3> 
<p><img alt="" height="82" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/42c977c11c4a677030ffb8a5592794aa.png" width="433"></p> 
<p>通过原理图可以看到，LED是连接到了GPIO5_3上面，并且引脚输出低电平时，LED点亮。</p> 
<h3 id="8.2%20%E4%BF%AE%E6%94%B9%E8%AE%BE%E5%A4%87%E6%A0%91%E6%96%87%E4%BB%B6"><a name="t15"></a>8.2 修改设备树文件</h3> 
<h4 id="8.2.1%20%E8%AE%BE%E5%A4%87%E6%A0%91%E4%B8%AD%E5%A2%9E%E5%8A%A0pinctrl%E4%BF%A1%E6%81%AF"><a name="t16"></a>8.2.1 设备树中增加pinctrl信息</h4> 
<p>这里使用imx6ull提供的Pins_Tool_for_i.MX_Processors_v6_x64.exe工具配置引脚，生成pinctrl节点信息。安装Pins_Tool_for_i.MX_Processors_v6_x64.exe然后打开IMX6ULL的配置文件“MCIMX6Y2xxx08.mex”，然后在里面找到gpio5_3，然后工具就会自动给我们生成配置信息。</p> 
<p><img alt="" height="1014" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/57d752ab784cdb868b6fbe19ebad9047.png" width="1200"></p> 
<pre data-index="8" class="set-code-show" name="code"><code class="language-bash hljs"><ol class="hljs-ln" style="width:100%"><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="1"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">            fsl,pins = &lt;</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="2"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">                MX6ULL_PAD_SNVS_TAMPER3__GPIO5_IO03        0x000110A0</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="3"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">            &gt;;</div></div></li></ol></code><div class="hljs-button {2} add_def" data-title="复制" onclick="hljs.copyCode(event)"></div><button class="btn-code-notes ckeditor" data-report-view-hover="{&quot;spm&quot;:&quot;3001.10436&quot;,&quot;dest&quot;:&quot;https://trae.com.cn?utm_source=community&amp;utm_medium=csdn&amp;utm_campaign=daima&quot;,&quot;extra&quot;:{&quot;index&quot;:8,&quot;runIdx&quot;:-1}}" data-report-click="{&quot;spm&quot;:&quot;3001.10436&quot;,&quot;dest&quot;:&quot;https://trae.com.cn?utm_source=community&amp;utm_medium=csdn&amp;utm_campaign=daima&quot;,&quot;extra&quot;:{&quot;index&quot;:8,&quot;runIdx&quot;:-1}}">AI写代码</button></pre> 
<p>把这个配置信息放到设备树文件中，</p> 
<pre data-index="9" class="set-code-show" name="code"><code class="language-bash hljs"><ol class="hljs-ln" style="width:100%"><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="1"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">        pinctrl_leds: ledgrp {</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="2"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">            fsl,pins = &lt;</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="3"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">                  MX6ULL_PAD_SNVS_TAMPER3__GPIO5_IO03        0x000110A0</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="4"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">            &gt;;</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="5"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">        };</div></div></li></ol></code><div class="hljs-button {2} add_def" data-title="复制" onclick="hljs.copyCode(event)"></div><button class="btn-code-notes ckeditor" data-report-view-hover="{&quot;spm&quot;:&quot;3001.10436&quot;,&quot;dest&quot;:&quot;https://trae.com.cn?utm_source=community&amp;utm_medium=csdn&amp;utm_campaign=daima&quot;,&quot;extra&quot;:{&quot;index&quot;:9,&quot;runIdx&quot;:-1}}" data-report-click="{&quot;spm&quot;:&quot;3001.10436&quot;,&quot;dest&quot;:&quot;https://trae.com.cn?utm_source=community&amp;utm_medium=csdn&amp;utm_campaign=daima&quot;,&quot;extra&quot;:{&quot;index&quot;:9,&quot;runIdx&quot;:-1}}">AI写代码</button></pre> 
<h4 id="8.2.2%20%E8%AE%BE%E5%A4%87%E4%B8%AD%E5%A2%9E%E5%8A%A0led%E8%8A%82%E7%82%B9%E4%BF%A1%E6%81%AF"><a name="t17"></a>8.2.2 设备中增加led节点信息</h4> 
<pre data-index="10" class="set-code-show" name="code"><code class="language-bash hljs"><ol class="hljs-ln" style="width:100%"><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="1"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">    myled {</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="2"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">        compatible = <span class="hljs-string">"cumtchw,leddrv"</span>;</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="3"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">        pinctrl-names = <span class="hljs-string">"default"</span>;</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="4"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">        pinctrl-0 = &lt;&amp;pinctrl_leds&gt;;</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="5"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">        led-gpios = &lt;&amp;gpio5 3 GPIO_ACTIVE_LOW&gt;;</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="6"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">    };</div></div></li></ol></code><div class="hljs-button {2} add_def" data-title="复制" onclick="hljs.copyCode(event)"></div><button class="btn-code-notes ckeditor" data-report-click="{&quot;spm&quot;:&quot;3001.10436&quot;,&quot;dest&quot;:&quot;https://trae.com.cn?utm_source=community&amp;utm_medium=csdn&amp;utm_campaign=daima&quot;,&quot;extra&quot;:{&quot;index&quot;:10,&quot;runIdx&quot;:-1}}">AI写代码</button></pre> 
<p>在设备树的根节点下添加上面的节点信息，其中cumtchw是我的名字。</p> 
<h3 id="8.3%20%E7%BC%96%E5%86%99%E4%BB%A3%E7%A0%81"><a name="t18"></a>8.3 编写代码</h3> 
<h4 id="8.3.1%E9%A9%B1%E5%8A%A8%E7%A8%8B%E5%BA%8Fleddrv.c"><a name="t19"></a>8.3.1<a href="https://so.csdn.net/so/search?q=%E9%A9%B1%E5%8A%A8%E7%A8%8B%E5%BA%8F&amp;spm=1001.2101.3001.7020" target="_blank" class="hl hl-1" data-report-view="{&quot;spm&quot;:&quot;1001.2101.3001.7020&quot;,&quot;dest&quot;:&quot;https://so.csdn.net/so/search?q=%E9%A9%B1%E5%8A%A8%E7%A8%8B%E5%BA%8F&amp;spm=1001.2101.3001.7020&quot;,&quot;extra&quot;:&quot;{\&quot;searchword\&quot;:\&quot;驱动程序\&quot;}&quot;}" data-report-click="{&quot;spm&quot;:&quot;1001.2101.3001.7020&quot;,&quot;dest&quot;:&quot;https://so.csdn.net/so/search?q=%E9%A9%B1%E5%8A%A8%E7%A8%8B%E5%BA%8F&amp;spm=1001.2101.3001.7020&quot;,&quot;extra&quot;:&quot;{\&quot;searchword\&quot;:\&quot;驱动程序\&quot;}&quot;}" data-tit="驱动程序" data-pretit="驱动程序">驱动程序</a>leddrv.c</h4> 
<pre data-index="11" class="set-code-hide" name="code"><code class="language-cpp hljs"><ol class="hljs-ln hundred" style="width:865px"><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="1"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-meta">#<span class="hljs-keyword">include</span> <span class="hljs-string">&lt;linux/module.h&gt;</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="2"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-meta">#<span class="hljs-keyword">include</span> <span class="hljs-string">&lt;linux/platform_device.h&gt;</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="3"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> </div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="4"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-meta">#<span class="hljs-keyword">include</span> <span class="hljs-string">&lt;linux/fs.h&gt;</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="5"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-meta">#<span class="hljs-keyword">include</span> <span class="hljs-string">&lt;linux/errno.h&gt;</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="6"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-meta">#<span class="hljs-keyword">include</span> <span class="hljs-string">&lt;linux/miscdevice.h&gt;</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="7"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-meta">#<span class="hljs-keyword">include</span> <span class="hljs-string">&lt;linux/kernel.h&gt;</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="8"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-meta">#<span class="hljs-keyword">include</span> <span class="hljs-string">&lt;linux/major.h&gt;</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="9"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-meta">#<span class="hljs-keyword">include</span> <span class="hljs-string">&lt;linux/mutex.h&gt;</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="10"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-meta">#<span class="hljs-keyword">include</span> <span class="hljs-string">&lt;linux/proc_fs.h&gt;</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="11"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-meta">#<span class="hljs-keyword">include</span> <span class="hljs-string">&lt;linux/seq_file.h&gt;</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="12"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-meta">#<span class="hljs-keyword">include</span> <span class="hljs-string">&lt;linux/stat.h&gt;</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="13"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-meta">#<span class="hljs-keyword">include</span> <span class="hljs-string">&lt;linux/init.h&gt;</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="14"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-meta">#<span class="hljs-keyword">include</span> <span class="hljs-string">&lt;linux/device.h&gt;</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="15"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-meta">#<span class="hljs-keyword">include</span> <span class="hljs-string">&lt;linux/tty.h&gt;</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="16"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-meta">#<span class="hljs-keyword">include</span> <span class="hljs-string">&lt;linux/kmod.h&gt;</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="17"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-meta">#<span class="hljs-keyword">include</span> <span class="hljs-string">&lt;linux/gfp.h&gt;</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="18"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-meta">#<span class="hljs-keyword">include</span> <span class="hljs-string">&lt;linux/gpio/consumer.h&gt;</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="19"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-meta">#<span class="hljs-keyword">include</span> <span class="hljs-string">&lt;linux/of.h&gt;</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="20"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> </div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="21"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> </div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="22"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-comment">/* 1. 确定主设备号                                                                 */</span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="23"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-type">static</span> <span class="hljs-type">int</span> major = <span class="hljs-number">0</span>;</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="24"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-type">static</span> <span class="hljs-keyword">struct</span> <span class="hljs-title class_">class</span> *led_class;</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="25"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-type">static</span> <span class="hljs-keyword">struct</span> <span class="hljs-title class_">gpio_desc</span> *led_gpio;</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="26"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> </div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="27"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> </div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="28"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-comment">/* 3. 实现对应的open/read/write等函数，填入file_operations结构体                   */</span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="29"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-function"><span class="hljs-type">static</span> <span class="hljs-type">ssize_t</span> <span class="hljs-title">led_drv_read</span> <span class="hljs-params">(<span class="hljs-keyword">struct</span> file *file, <span class="hljs-type">char</span> __user *buf, <span class="hljs-type">size_t</span> size, <span class="hljs-type">loff_t</span> *offset)</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="30"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">{</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="31"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">	<span class="hljs-built_in">printk</span>(<span class="hljs-string">"%s %s line %d\n"</span>, __FILE__, __FUNCTION__, __LINE__);</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="32"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">	<span class="hljs-keyword">return</span> <span class="hljs-number">0</span>;</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="33"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">}</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="34"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> </div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="35"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-comment">/* write(fd, &amp;val, 1); */</span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="36"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-function"><span class="hljs-type">static</span> <span class="hljs-type">ssize_t</span> <span class="hljs-title">led_drv_write</span> <span class="hljs-params">(<span class="hljs-keyword">struct</span> file *file, <span class="hljs-type">const</span> <span class="hljs-type">char</span> __user *buf, <span class="hljs-type">size_t</span> size, <span class="hljs-type">loff_t</span> *offset)</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="37"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">{</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="38"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">	<span class="hljs-type">int</span> err;</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="39"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">	<span class="hljs-type">char</span> status;</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="40"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">	</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="41"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">	<span class="hljs-built_in">printk</span>(<span class="hljs-string">"%s %s line %d\n"</span>, __FILE__, __FUNCTION__, __LINE__);</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="42"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">	err = <span class="hljs-built_in">copy_from_user</span>(&amp;status, buf, <span class="hljs-number">1</span>);</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="43"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> </div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="44"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">	<span class="hljs-comment">/* 根据次设备号和status控制LED */</span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="45"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">	<span class="hljs-built_in">gpiod_set_value</span>(led_gpio, status);</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="46"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">	</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="47"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">	<span class="hljs-keyword">return</span> <span class="hljs-number">1</span>;</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="48"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">}</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="49"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> </div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="50"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-function"><span class="hljs-type">static</span> <span class="hljs-type">int</span> <span class="hljs-title">led_drv_open</span> <span class="hljs-params">(<span class="hljs-keyword">struct</span> inode *node, <span class="hljs-keyword">struct</span> file *file)</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="51"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">{	</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="52"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">	<span class="hljs-built_in">printk</span>(<span class="hljs-string">"%s %s line %d\n"</span>, __FILE__, __FUNCTION__, __LINE__);</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="53"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">	<span class="hljs-comment">/* 根据次设备号初始化LED */</span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="54"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">	<span class="hljs-built_in">gpiod_direction_output</span>(led_gpio, <span class="hljs-number">0</span>);</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="55"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">	</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="56"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">	<span class="hljs-keyword">return</span> <span class="hljs-number">0</span>;</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="57"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">}</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="58"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> </div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="59"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-function"><span class="hljs-type">static</span> <span class="hljs-type">int</span> <span class="hljs-title">led_drv_close</span> <span class="hljs-params">(<span class="hljs-keyword">struct</span> inode *node, <span class="hljs-keyword">struct</span> file *file)</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="60"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">{</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="61"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">	<span class="hljs-built_in">printk</span>(<span class="hljs-string">"%s %s line %d\n"</span>, __FILE__, __FUNCTION__, __LINE__);</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="62"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">	<span class="hljs-keyword">return</span> <span class="hljs-number">0</span>;</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="63"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">}</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="64"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> </div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="65"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-comment">/* 定义自己的file_operations结构体                                              */</span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="66"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-type">static</span> <span class="hljs-keyword">struct</span> <span class="hljs-title class_">file_operations</span> led_drv = {</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="67"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">	.owner	 = THIS_MODULE,</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="68"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">	.open    = led_drv_open,</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="69"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">	.read    = led_drv_read,</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="70"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">	.write   = led_drv_write,</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="71"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">	.release = led_drv_close,</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="72"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">};</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="73"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> </div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="74"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-comment"><span class="hljs-comment">/* 4. 从platform_device获得GPIO</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="75"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-comment"> *    把file_operations结构体告诉内核：注册驱动程序</span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="76"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-comment"> */</span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="77"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-function"><span class="hljs-type">static</span> <span class="hljs-type">int</span> <span class="hljs-title">chip_demo_gpio_probe</span><span class="hljs-params">(<span class="hljs-keyword">struct</span> platform_device *pdev)</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="78"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">{</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="79"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">	<span class="hljs-built_in">printk</span>(<span class="hljs-string">"%s %s line %d\n"</span>, __FILE__, __FUNCTION__, __LINE__);</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="80"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> </div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="81"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">	<span class="hljs-comment">/* 4.1 设备树中定义有: led-gpios=&lt;...&gt;;	*/</span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="82"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">    led_gpio = <span class="hljs-built_in">gpiod_get</span>(&amp;pdev-&gt;dev, <span class="hljs-string">"led"</span>, <span class="hljs-number">0</span>);</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="83"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">	<span class="hljs-keyword">if</span> (<span class="hljs-built_in">IS_ERR</span>(led_gpio)) {</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="84"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">		<span class="hljs-built_in">dev_err</span>(&amp;pdev-&gt;dev, <span class="hljs-string">"Failed to get GPIO for led\n"</span>);</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="85"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">		<span class="hljs-keyword">return</span> <span class="hljs-built_in">PTR_ERR</span>(led_gpio);</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="86"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">	}</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="87"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">    </div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="88"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">	<span class="hljs-comment">/* 4.2 注册file_operations 	*/</span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="89"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">	major = <span class="hljs-built_in">register_chrdev</span>(<span class="hljs-number">0</span>, <span class="hljs-string">"cumtchw_led"</span>, &amp;led_drv);  <span class="hljs-comment">/* /dev/led */</span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="90"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> </div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="91"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">	led_class = <span class="hljs-built_in">class_create</span>(THIS_MODULE, <span class="hljs-string">"cumtchw_led_class"</span>);</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="92"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">	<span class="hljs-keyword">if</span> (<span class="hljs-built_in">IS_ERR</span>(led_class)) {</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="93"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">		<span class="hljs-built_in">printk</span>(<span class="hljs-string">"%s %s line %d\n"</span>, __FILE__, __FUNCTION__, __LINE__);</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="94"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">		<span class="hljs-built_in">unregister_chrdev</span>(major, <span class="hljs-string">"led"</span>);</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="95"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">		<span class="hljs-built_in">gpiod_put</span>(led_gpio);</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="96"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">		<span class="hljs-keyword">return</span> <span class="hljs-built_in">PTR_ERR</span>(led_class);</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="97"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">	}</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="98"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> </div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="99"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">	<span class="hljs-built_in">device_create</span>(led_class, <span class="hljs-literal">NULL</span>, <span class="hljs-built_in">MKDEV</span>(major, <span class="hljs-number">0</span>), <span class="hljs-literal">NULL</span>, <span class="hljs-string">"cumtchw_led%d"</span>, <span class="hljs-number">0</span>); <span class="hljs-comment">/* /dev/cumtchw_led0 */</span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="100"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">        </div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="101"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">    <span class="hljs-keyword">return</span> <span class="hljs-number">0</span>;</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="102"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">    </div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="103"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">}</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="104"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> </div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="105"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-function"><span class="hljs-type">static</span> <span class="hljs-type">int</span> <span class="hljs-title">chip_demo_gpio_remove</span><span class="hljs-params">(<span class="hljs-keyword">struct</span> platform_device *pdev)</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="106"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">{</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="107"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">	<span class="hljs-built_in">device_destroy</span>(led_class, <span class="hljs-built_in">MKDEV</span>(major, <span class="hljs-number">0</span>));</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="108"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">	<span class="hljs-built_in">class_destroy</span>(led_class);</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="109"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">	<span class="hljs-built_in">unregister_chrdev</span>(major, <span class="hljs-string">"cumtchw_led"</span>);</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="110"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">	<span class="hljs-built_in">gpiod_put</span>(led_gpio);</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="111"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">    </div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="112"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">    <span class="hljs-keyword">return</span> <span class="hljs-number">0</span>;</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="113"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">}</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="114"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> </div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="115"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> </div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="116"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-type">static</span> <span class="hljs-type">const</span> <span class="hljs-keyword">struct</span> <span class="hljs-title class_">of_device_id</span> ask100_leds[] = {</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="117"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">    { .compatible = <span class="hljs-string">"cumtchw,leddrv"</span> },</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="118"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">    { },</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="119"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">};</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="120"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> </div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="121"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-comment">/* 1. 定义platform_driver */</span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="122"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-type">static</span> <span class="hljs-keyword">struct</span> <span class="hljs-title class_">platform_driver</span> chip_demo_gpio_driver = {</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="123"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">    .probe      = chip_demo_gpio_probe,</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="124"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">    .remove     = chip_demo_gpio_remove,</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="125"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">    .driver     = {</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="126"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">        .name   = <span class="hljs-string">"cumtchw_led"</span>,</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="127"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">        .of_match_table = ask100_leds,</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="128"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">    },</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="129"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">};</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="130"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> </div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="131"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-comment">/* 2. 在入口函数注册platform_driver */</span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="132"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-function"><span class="hljs-type">static</span> <span class="hljs-type">int</span> __init <span class="hljs-title">led_init</span><span class="hljs-params">(<span class="hljs-type">void</span>)</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="133"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">{</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="134"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">    <span class="hljs-type">int</span> err;</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="135"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">    </div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="136"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">	<span class="hljs-built_in">printk</span>(<span class="hljs-string">"%s %s line %d\n"</span>, __FILE__, __FUNCTION__, __LINE__);</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="137"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">	</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="138"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">    err = <span class="hljs-built_in">platform_driver_register</span>(&amp;chip_demo_gpio_driver); </div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="139"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">	</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="140"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">	<span class="hljs-keyword">return</span> err;</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="141"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">}</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="142"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> </div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="143"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-comment"><span class="hljs-comment">/* 3. 有入口函数就应该有出口函数：卸载驱动程序时，就会去调用这个出口函数</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="144"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-comment"> *     卸载platform_driver</span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="145"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-comment"> */</span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="146"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-function"><span class="hljs-type">static</span> <span class="hljs-type">void</span> __exit <span class="hljs-title">led_exit</span><span class="hljs-params">(<span class="hljs-type">void</span>)</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="147"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">{</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="148"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">	<span class="hljs-built_in">printk</span>(<span class="hljs-string">"%s %s line %d\n"</span>, __FILE__, __FUNCTION__, __LINE__);</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="149"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> </div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="150"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">    <span class="hljs-built_in">platform_driver_unregister</span>(&amp;chip_demo_gpio_driver);</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="151"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">}</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="152"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> </div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="153"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> </div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="154"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-comment">/* 7. 其他完善：提供设备信息，自动创建设备节点                                     */</span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="155"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> </div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="156"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-built_in">module_init</span>(led_init);</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="157"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-built_in">module_exit</span>(led_exit);</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="158"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> </div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="159"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-built_in">MODULE_LICENSE</span>(<span class="hljs-string">"GPL"</span>);</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="160"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> </div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="161"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> </div></div></li></ol></code><div class="hide-preCode-box"><span class="hide-preCode-bt" data-report-view="{&quot;spm&quot;:&quot;1001.2101.3001.7365&quot;}"><img class="look-more-preCode contentImg-no-view" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/newCodeMoreWhite.png" alt="" title=""></span></div><div class="hljs-button {2} add_def" data-title="复制" onclick="hljs.copyCode(event)"></div><button class="btn-code-notes ckeditor" data-report-click="{&quot;spm&quot;:&quot;3001.10436&quot;,&quot;dest&quot;:&quot;https://trae.com.cn?utm_source=community&amp;utm_medium=csdn&amp;utm_campaign=daima&quot;,&quot;extra&quot;:{&quot;index&quot;:11,&quot;runIdx&quot;:-1}}">AI写代码</button></pre> 
<h4 id="8.3.2%20%E6%B5%8B%E8%AF%95%E7%A8%8B%E5%BA%8Fledtest.c"><a name="t20"></a>8.3.2 测试程序ledtest.c</h4> 
<pre data-index="12" class="set-code-hide" name="code"><code class="language-cpp hljs"><ol class="hljs-ln" style="width:100%"><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="1"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> </div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="2"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-meta">#<span class="hljs-keyword">include</span> <span class="hljs-string">&lt;sys/types.h&gt;</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="3"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-meta">#<span class="hljs-keyword">include</span> <span class="hljs-string">&lt;sys/stat.h&gt;</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="4"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-meta">#<span class="hljs-keyword">include</span> <span class="hljs-string">&lt;fcntl.h&gt;</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="5"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-meta">#<span class="hljs-keyword">include</span> <span class="hljs-string">&lt;unistd.h&gt;</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="6"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-meta">#<span class="hljs-keyword">include</span> <span class="hljs-string">&lt;stdio.h&gt;</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="7"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-meta">#<span class="hljs-keyword">include</span> <span class="hljs-string">&lt;string.h&gt;</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="8"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> </div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="9"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-comment"><span class="hljs-comment">/*</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="10"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-comment"> * ./ledtest /dev/100ask_led0 on</span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="11"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-comment"> * ./ledtest /dev/100ask_led0 off</span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="12"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-comment"> */</span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="13"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-function"><span class="hljs-type">int</span> <span class="hljs-title">main</span><span class="hljs-params">(<span class="hljs-type">int</span> argc, <span class="hljs-type">char</span> **argv)</span></span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="14"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">{</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="15"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">	<span class="hljs-type">int</span> fd;</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="16"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">	<span class="hljs-type">char</span> status;</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="17"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">	</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="18"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">	<span class="hljs-comment">/* 1. 判断参数 */</span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="19"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">	<span class="hljs-keyword">if</span> (argc != <span class="hljs-number">3</span>) </div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="20"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">	{</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="21"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">		<span class="hljs-built_in">printf</span>(<span class="hljs-string">"Usage: %s &lt;dev&gt; &lt;on | off&gt;\n"</span>, argv[<span class="hljs-number">0</span>]);</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="22"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">		<span class="hljs-keyword">return</span> <span class="hljs-number">-1</span>;</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="23"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">	}</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="24"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> </div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="25"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">	<span class="hljs-comment">/* 2. 打开文件 */</span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="26"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">	fd = <span class="hljs-built_in">open</span>(argv[<span class="hljs-number">1</span>], O_RDWR);</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="27"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">	<span class="hljs-keyword">if</span> (fd == <span class="hljs-number">-1</span>)</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="28"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">	{</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="29"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">		<span class="hljs-built_in">printf</span>(<span class="hljs-string">"can not open file %s\n"</span>, argv[<span class="hljs-number">1</span>]);</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="30"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">		<span class="hljs-keyword">return</span> <span class="hljs-number">-1</span>;</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="31"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">	}</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="32"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> </div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="33"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">	<span class="hljs-comment">/* 3. 写文件 */</span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="34"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">	<span class="hljs-keyword">if</span> (<span class="hljs-number">0</span> == <span class="hljs-built_in">strcmp</span>(argv[<span class="hljs-number">2</span>], <span class="hljs-string">"on"</span>))</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="35"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">	{</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="36"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">		status = <span class="hljs-number">1</span>;</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="37"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">		<span class="hljs-built_in">write</span>(fd, &amp;status, <span class="hljs-number">1</span>);</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="38"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">	}</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="39"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">	<span class="hljs-keyword">else</span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="40"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">	{</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="41"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">		status = <span class="hljs-number">0</span>;</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="42"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">		<span class="hljs-built_in">write</span>(fd, &amp;status, <span class="hljs-number">1</span>);</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="43"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">	}</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="44"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">	</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="45"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">	<span class="hljs-built_in">close</span>(fd);</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="46"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">	</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="47"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">	<span class="hljs-keyword">return</span> <span class="hljs-number">0</span>;</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="48"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">}</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="49"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> </div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="50"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> </div></div></li></ol></code><div class="hide-preCode-box"><span class="hide-preCode-bt" data-report-view="{&quot;spm&quot;:&quot;1001.2101.3001.7365&quot;}"><img class="look-more-preCode contentImg-no-view" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/newCodeMoreWhite.png" alt="" title=""></span></div><div class="hljs-button {2} add_def" data-title="复制" onclick="hljs.copyCode(event)"></div><button class="btn-code-notes ckeditor" data-report-click="{&quot;spm&quot;:&quot;3001.10436&quot;,&quot;dest&quot;:&quot;https://trae.com.cn?utm_source=community&amp;utm_medium=csdn&amp;utm_campaign=daima&quot;,&quot;extra&quot;:{&quot;index&quot;:12,&quot;runIdx&quot;:-1}}">AI写代码</button></pre> 
<h4 id="8.3.3%20Makefile"><a name="t21"></a>8.3.3 Makefile</h4> 
<pre data-index="13" class="set-code-hide" name="code"><code class="language-cpp hljs"><ol class="hljs-ln" style="width:1203px"><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="1"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> </div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="2"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"># <span class="hljs-number">1.</span> 使用不同的开发板内核时, 一定要修改KERN_DIR</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="3"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"># <span class="hljs-number">2.</span> KERN_DIR中的内核要事先配置、编译, 为了能编译内核, 要先设置下列环境变量:</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="4"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"># <span class="hljs-number">2.1</span> ARCH,          比如: <span class="hljs-keyword">export</span> ARCH=arm64</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="5"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"># <span class="hljs-number">2.2</span> CROSS_COMPILE, 比如: <span class="hljs-keyword">export</span> CROSS_COMPILE=aarch64-linux-gnu-</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="6"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"># <span class="hljs-number">2.3</span> PATH,          比如: <span class="hljs-keyword">export</span> PATH=$PATH:/home/book/<span class="hljs-number">100</span>ask_roc-rk3399-pc/ToolChain<span class="hljs-number">-6.3</span><span class="hljs-number">.1</span>/gcc-linaro<span class="hljs-number">-6.3</span><span class="hljs-number">.1</span><span class="hljs-number">-2017.05</span>-x86_64_aarch64-linux-gnu/bin </div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="7"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"># 注意: 不同的开发板不同的编译器上述<span class="hljs-number">3</span>个环境变量不一定相同,</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="8"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">#       请参考各开发板的高级用户使用手册</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="9"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> </div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="10"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">KERN_DIR = /data/chw/imx6ull_20230512/bsp/<span class="hljs-number">100</span>ask_imx6ull-sdk/Linux<span class="hljs-number">-4.9</span><span class="hljs-number">.88</span> # 板子所用内核源码的目录</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="11"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> </div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="12"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">all:</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="13"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">	make -C $(KERN_DIR) M=`pwd` modules </div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="14"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">	$(CROSS_COMPILE)gcc -o ledtest ledtest.c </div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="15"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> </div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="16"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">clean:</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="17"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">	make -C $(KERN_DIR) M=`pwd` modules clean</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="18"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">	rm -rf modules.order</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="19"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">	rm -f ledtest</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="20"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> </div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="21"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"># 参考内核源码drivers/<span class="hljs-type">char</span>/ipmi/Makefile</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="22"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"># 要想把a.c, b.c编译成ab.ko, 可以这样指定:</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="23"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-meta"># ab-y := a.o b.o</span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="24"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-meta"># obj-m += ab.o</span></div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="25"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> </div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="26"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> </div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="27"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> </div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="28"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">obj-m += leddrv.o</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="29"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"> </div></div></li></ol></code><div class="hide-preCode-box"><span class="hide-preCode-bt" data-report-view="{&quot;spm&quot;:&quot;1001.2101.3001.7365&quot;}"><img class="look-more-preCode contentImg-no-view" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/newCodeMoreWhite.png" alt="" title=""></span></div><div class="hljs-button {2} add_def" data-title="复制" onclick="hljs.copyCode(event)"></div><button class="btn-code-notes ckeditor" data-report-view-hover="{&quot;spm&quot;:&quot;3001.10436&quot;,&quot;dest&quot;:&quot;https://trae.com.cn?utm_source=community&amp;utm_medium=csdn&amp;utm_campaign=daima&quot;,&quot;extra&quot;:{&quot;index&quot;:13,&quot;runIdx&quot;:-1}}" data-report-click="{&quot;spm&quot;:&quot;3001.10436&quot;,&quot;dest&quot;:&quot;https://trae.com.cn?utm_source=community&amp;utm_medium=csdn&amp;utm_campaign=daima&quot;,&quot;extra&quot;:{&quot;index&quot;:13,&quot;runIdx&quot;:-1}}">AI写代码</button></pre> 
<h3 id="8.4%20%E5%AE%9E%E9%AA%8C"><a name="t22"></a>8.4 实验</h3> 
<h4 id="8.4.1%20%E7%BC%96%E8%AF%91%E8%AE%BE%E5%A4%87%E6%A0%91%E6%96%87%E4%BB%B6"><a name="t23"></a>8.4.1 编译设备树文件</h4> 
<p>到内核目录下执行&nbsp;</p> 
<pre data-index="14" class="set-code-show" name="code"><code class="language-bash hljs">make dtbs</code><div class="hljs-button {2} add_def" data-title="复制" onclick="hljs.copyCode(event)"></div><button class="btn-code-notes ckeditor" data-report-view-hover="{&quot;spm&quot;:&quot;3001.10436&quot;,&quot;dest&quot;:&quot;https://trae.com.cn?utm_source=community&amp;utm_medium=csdn&amp;utm_campaign=daima&quot;,&quot;extra&quot;:{&quot;index&quot;:14,&quot;runIdx&quot;:-1}}" data-report-click="{&quot;spm&quot;:&quot;3001.10436&quot;,&quot;dest&quot;:&quot;https://trae.com.cn?utm_source=community&amp;utm_medium=csdn&amp;utm_campaign=daima&quot;,&quot;extra&quot;:{&quot;index&quot;:14,&quot;runIdx&quot;:-1}}">AI写代码</button></pre> 
<h4 id="8.4.2%20%E7%BC%96%E8%AF%91%E9%A9%B1%E5%8A%A8%E5%92%8C%E6%B5%8B%E8%AF%95%E7%A8%8B%E5%BA%8F"><a name="t24"></a>8.4.2 编译驱动和测试程序</h4> 
<pre data-index="15" class="set-code-show" name="code"><code class="language-bash hljs">make all
</code><div class="hljs-button {2} add_def" data-title="复制" onclick="hljs.copyCode(event)"></div><button class="btn-code-notes ckeditor" data-report-view-hover="{&quot;spm&quot;:&quot;3001.10436&quot;,&quot;dest&quot;:&quot;https://trae.com.cn?utm_source=community&amp;utm_medium=csdn&amp;utm_campaign=daima&quot;,&quot;extra&quot;:{&quot;index&quot;:15,&quot;runIdx&quot;:-1}}" data-report-click="{&quot;spm&quot;:&quot;3001.10436&quot;,&quot;dest&quot;:&quot;https://trae.com.cn?utm_source=community&amp;utm_medium=csdn&amp;utm_campaign=daima&quot;,&quot;extra&quot;:{&quot;index&quot;:15,&quot;runIdx&quot;:-1}}">AI写代码</button></pre> 
<h4 id="8.4.3%20%E6%9B%BF%E6%8D%A2%E8%AE%BE%E5%A4%87%E6%A0%91%E3%80%81%E9%A9%B1%E5%8A%A8%E4%BB%A5%E5%8F%8A%E6%B5%8B%E8%AF%95%E7%A8%8B%E5%BA%8F"><a name="t25"></a>8.4.3 替换设备树、驱动以及测试程序</h4> 
<pre data-index="16" class="set-code-show" name="code"><code class="language-bash hljs"><ol class="hljs-ln" style="width:721px"><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="1"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-built_in">cp</span> <span class="hljs-built_in">arch</span>/arm/boot/dts/100ask_imx6ull-14x14.dtb /data/chw/imx6ull_20230512/nfs_rootfs/</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="2"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line"><span class="hljs-built_in">cp</span> leddrv.ko  ledtest /data/chw/imx6ull_20230512/nfs_rootfs/</div></div></li></ol></code><div class="hljs-button {2} add_def" data-title="复制" onclick="hljs.copyCode(event)"></div><button class="btn-code-notes ckeditor" data-report-view-hover="{&quot;spm&quot;:&quot;3001.10436&quot;,&quot;dest&quot;:&quot;https://trae.com.cn?utm_source=community&amp;utm_medium=csdn&amp;utm_campaign=daima&quot;,&quot;extra&quot;:{&quot;index&quot;:16,&quot;runIdx&quot;:-1}}" data-report-click="{&quot;spm&quot;:&quot;3001.10436&quot;,&quot;dest&quot;:&quot;https://trae.com.cn?utm_source=community&amp;utm_medium=csdn&amp;utm_campaign=daima&quot;,&quot;extra&quot;:{&quot;index&quot;:16,&quot;runIdx&quot;:-1}}">AI写代码</button></pre> 
<p>然后替换dtb文件</p> 
<p><img alt="" height="299" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/e04f8e80027d080b561511f8bcb036dd.png" width="1078"></p> 
<p>注意在cp之后，要执行sync命令，要不然后面会出错，</p> 
<blockquote> 
 <p><code>sync</code>命令在Linux系统中用于将数据从内存缓冲区同步到硬盘。当你执行<code>cp /mnt/100ask_imx6ull-14x14.dtb /boot</code>命令时，系统会先将数据复制到内存缓冲区，然后在适当的时候再将数据写入硬盘。这是因为直接写入硬盘的速度比内存慢得多，使用内存缓冲区可以提高系统的效率。</p> 
 <p>但是，如果在数据还没有被写入硬盘的时候系统突然断电或者崩溃，那么这些数据就会丢失。为了防止这种情况，你可以在复制文件后立即执行<code>sync</code>命令。这样，<code>sync</code>命令会强制系统立即将所有待写入的数据从内存缓冲区写入硬盘，确保数据的安全。</p> 
 <p>所以，在执行<code>cp /mnt/100ask_imx6ull-14x14.dtb /boot</code>命令之后执行<code>sync</code>命令，是为了确保设备树文件已经被安全地写入到<code>/boot</code>目录。</p> 
</blockquote> 
<p>&nbsp;然后重启开发板，使用的就是新的设备树文件了。</p> 
<p>&nbsp;然后挂载驱动就可以看到设备节点了</p> 
<p><img alt="" height="843" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/9639f8fcfb5da101733097c6e37f7d35.png" width="1200"></p> 
<p></p>
                </div><div><div></div></div>
        </div>
    </article>
  <script>
    $(function() {
      setTimeout(function () {
        var mathcodeList = document.querySelectorAll('.htmledit_views img.mathcode');
        if (mathcodeList.length > 0) {
          for (let i = 0; i < mathcodeList.length; i++) {
            if (mathcodeList[i].complete) {
              if (mathcodeList[i].naturalWidth === 0 || mathcodeList[i].naturalHeight === 0) {
                var alt = mathcodeList[i].alt;
                alt = '\\(' + alt + '\\)';
                var curSpan = $('<span class="img-codecogs"></span>');
                curSpan.text(alt);
                $(mathcodeList[i]).before(curSpan);
                $(mathcodeList[i]).remove();
              }
            } else {
              mathcodeList[i].onerror = function() {
                var alt = mathcodeList[i].alt;
                alt = '\\(' + alt + '\\)';
                var curSpan = $('<span class="img-codecogs"></span>');
                curSpan.text(alt);
                $(mathcodeList[i]).before(curSpan);
                $(mathcodeList[i]).remove();
              };
            }
          }
          MathJax.Hub.Queue(["Typeset",MathJax.Hub]);
        }
      }, 500)
    });
  </script>
</div>
<div class="directory-boxshadow-dialog" style="display:none;">
  <div class="directory-boxshadow-dialog-box">
  </div>
   <div class="vip-limited-time-offer-box-new" id="vip-limited-time-offer-box-new">
      <img class="limited-img limited-img-new" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/vip-limited-close-newWhite.png">
      <div class="vip-limited-time-top">
        确定要放弃本次机会？
      </div>
      <span class="vip-limited-time-text">福利倒计时</span>
      <div class="limited-time-box-new">
        <span class="time-hour"></span>
        <i>:</i>
        <span class="time-minite"></span>
        <i>:</i>
        <span class="time-second"></span>
      </div>
      <div class="limited-time-vip-box">
        <p>
          <img class="coupon-img" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/vip-limited-close-roup.png">
          <span class="def">立减 ¥</span>
          <span class="active limited-num"></span>
        </p>
        <span class="">普通VIP年卡可用</span>
      </div>
      <a class="limited-time-btn-new" href="https://mall.csdn.net/vip" data-report-click="{&quot;spm&quot;:&quot;1001.2101.3001.9621&quot;}" data-report-query="spm=1001.2101.3001.9621">立即使用</a>
  </div>
</div>
    <div class="more-toolbox-new more-toolbar more-toolbox-active" id="toolBarBox">
      <div class="left-toolbox" style="position: fixed; z-index: 999; left: 443.5px; bottom: 0px; width: 1010px;">
        <div class="toolbox-left">
            <div class="profile-box">
              <a class="profile-href" target="_blank" href="https://cumtchw.blog.csdn.net/"><img class="profile-img" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/4961dde5f7d6439995a648b3047e6d02_u013171226.jpg!1">
                <span class="profile-name">
                  陈 洪 伟
                </span>
              </a>
            </div>
            <div class="profile-attend">
                <a class="tool-attend tool-bt-button tool-bt-attend" href="javascript:;">关注</a>
              <a class="tool-item-follow active-animation" style="display:none;">关注</a>
            </div>
        </div>
        <div class="toolbox-middle">
          <ul class="toolbox-list">
            <li class="tool-item tool-item-size tool-active is-like" id="is-like" data-type="bottom">
              <a class="tool-item-href">
                <img style="display:none;" id="is-like-imgactive-animation-like" class="animation-dom active-animation" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/tobarThumbUpactive.png" alt="">
                <img class="isactive" style="display:none" id="is-like-imgactive" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/like-active.png" alt="">
                <img class="isdefault" style="display:block" id="is-like-img" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/like.png" alt="">
                <span id="spanCount" class="count ">
                    13
                </span>
              </a>
              <div class="tool-hover-tip"><span class="text space">点赞</span></div>
            </li>
            <li class="tool-item tool-item-size tool-active is-unlike" id="is-unlike">
              <a class="tool-item-href">
                <img class="isactive" style="margin-right:0px;display:none" id="is-unlike-imgactive" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/unlike-active.png" alt="">
                <img class="isdefault" style="margin-right:0px;display:block" id="is-unlike-img" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/unlike.png" alt="">
                <span id="unlikeCount" class="count "></span>
              </a>
              <div class="tool-hover-tip"><span class="text space">踩</span></div>
            </li>
            <li class="tool-item tool-item-size tool-active is-collection ">
              <a class="tool-item-href" href="javascript:;" data-report-click="{&quot;mod&quot;:&quot;popu_824&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4130&quot;,&quot;ab&quot;:&quot;new&quot;}">
                <img style="display:none" id="is-collection-img-collection" class="animation-dom active-animation" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/collect-active.png" alt="">
                <img class="isdefault" id="is-collection-img" style="display:block" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/collect.png" alt="">
                <img class="isactive" id="is-collection-imgactive" style="display:none" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/newCollectActive.png" alt="">
                <span class="count get-collection" data-num="52" id="get-collection" style="color: rgb(153, 154, 170);">
                    52
                </span>
              </a>
              <div class="tool-hover-tip collect">
                <div class="collect-operate-box">
                  <span class="collect-text" id="is-collection">
                    收藏
                  </span>
                </div>
              </div>
              <div class="tool-active-list">
                <div class="text">
                  觉得还不错?
                  <span class="collect-text" id="tool-active-list-collection">
                    一键收藏
                  </span>
                 <img id="tool-active-list-close" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/collectionCloseWhite.png" alt="">
                </div>
              </div>
            </li>
            <li class="tool-item tool-item-size tool-active tool-item-comment">
              
                <a class="tool-item-href go-side-comment" data-report-click="{&quot;spm&quot;:&quot;1001.2101.3001.7009&quot;}">
                <img class="isdefault" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/comment.png" alt="">
                <span class="count">4</span>
              </a>
              <div class="tool-hover-tip"><span class="text space">评论</span></div>
            </li>
            <li class="tool-item tool-item-size tool-active tool-QRcode" data-type="article" id="tool-share">
              <a class="tool-item-href" href="javascript:;" data-report-view="{&quot;spm&quot;:&quot;3001.4129&quot;,&quot;extra&quot;:{&quot;type&quot;:&quot;blogdetail&quot;}}">
                <img class="isdefault" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/share.png" alt="">
                <span class="count">分享</span>
              </a>
                <div class="QRcode" id="tool-QRcode">
                <div class="share-bg-box">
                  <div class="share-content">
                    <a id="copyPosterUrl" data-type="link" class="btn-share">复制链接</a>
                  </div>
                  <div class="share-content">
                    <a class="btn-share" data-type="qq">分享到 QQ</a>
                  </div>
                  <div class="share-content">
                    <a class="btn-share" data-type="weibo">分享到新浪微博</a>
                  </div>
                  <div class="share-code">
                    <div class="share-code-box" id="shareCode"><canvas width="120" height="120"></canvas><img style="display: none;"></div>
                    <div class="share-code-text">
                      <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/icon-wechat.png" alt="">扫一扫
                    </div>
                  </div>
                </div>
              </div>
            </li>
                <li class="tool-item tool-item-size tool-active tool-item-reward">
                  <a class="tool-item-href" href="javascript:;" data-report-click="{&quot;mod&quot;:&quot;popu_830&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4237&quot;,&quot;dest&quot;:&quot;&quot;,&quot;ab&quot;:&quot;new&quot;}">
                    <img class="isdefault reward-bt" id="rewardBtNew" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/reward.png" alt="打赏">
                    <span class="count">打赏</span>
                  </a>
                  <div class="tool-hover-tip"><span class="text space">打赏</span></div>
                </li>
          <li class="tool-item tool-item-size tool-active is-more" id="is-more">
            <a class="tool-item-href">
              <img class="isdefault" style="margin-right:0px;display:block" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/more.png" alt="">
              <span class="count"></span>
            </a>
            <div class="more-opt-box">
              <div class="mini-box">
                    <a class="tool-item-href" id="rewardBtNewHide" data-report-click="{&quot;spm&quot;:&quot;3001.4237&quot;,&quot;extra&quot;:&quot;{\&quot;type\&quot;:\&quot;hide\&quot;}&quot;}">
                      <img class="isdefault reward-bt" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/reward.png" alt="打赏">
                      <span class="count">打赏</span>
                    </a>
                <a class="tool-item-href" id="toolReportBtnHide">
                  <img class="isdefault" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/report.png" alt="">
                  <span class="count">举报</span>
                </a>
              </div>
              <div class="normal-box">
                <a class="tool-item-href" id="toolReportBtnHideNormal">
                  <img class="isdefault" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/report.png" alt="">
                  <span class="count">举报</span>
                </a>
              </div>
            </div>
          </li>
        </ul>
      </div>
      <div class="toolbox-right">
            <div class="tool-directory">
                <a class="bt-columnlist-show" data-id="12375970" data-free="true" data-description="Linux的LCD驱动，I2C子系统，input子系统，pinctrl子系统，SPI子系统等驱动。正点原子和韦东山老师的驱动学习笔记。" data-subscribe="false" data-title="Linux驱动--驱动大全" data-img="https://i-blog.csdnimg.cn/blog_column_migrate/b9346faac8287efffed28c8b2d898da7.png?x-oss-process=image/resize,m_fixed,h_224,w_224" data-url="https://blog.csdn.net/u013171226/category_12375970.html" data-sum="8" data-people="100" data-price="0" data-hotrank="0" data-status="true" data-oldprice="0" data-join="false" data-studyvip="false" data-studysubscribe="false" data-report-click="{&quot;spm&quot;:&quot;1001.2101.3001.6334&quot;,&quot;extend1&quot;:&quot;专栏目录&quot;}">专栏目录</a>
          </div>
</div>
</div>
</div>
<script type="text/javascript" crossorigin="" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/qrcode-7c90a92189.min.js.下载"></script>
<script type="text/javascript" crossorigin="" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/csdn-login-box.js.下载"></script>
<script type="text/javascript" crossorigin="" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/collection-box.js.下载"></script>                <div class="first-recommend-box recommend-box ">
<div class="recommend-item-box type_blog clearfix" data-url="https://linuxai.blog.csdn.net/article/details/143446808">
	<div class="content-box">
		<div class="content-blog display-flex">
			<div class="title-box">
				<a href="https://linuxai.blog.csdn.net/article/details/143446808" class="tit" target="_blank" data-report-click="{&quot;ab&quot;:&quot;new&quot;,&quot;spm&quot;:&quot;1001.2101.3001.6661.1&quot;,&quot;mod&quot;:&quot;popu_871&quot;,&quot;extra&quot;:&quot;{\&quot;highlightScore\&quot;:0.0,\&quot;utm_medium\&quot;:\&quot;distribute.pc_relevant_t0.none-task-blog-2~default~OPENSEARCH~PaidSort-1-143446808-blog-132686757.235^v43^pc_blog_bottom_relevance_base7\&quot;,\&quot;dist_request_id\&quot;:\&quot;1745740675597_35004\&quot;}&quot;,&quot;dist_request_id&quot;:&quot;1745740675597_35004&quot;,&quot;ab_strategy&quot;:&quot;landing_bge_commercial_hanlp&quot;,&quot;index&quot;:&quot;1&quot;,&quot;strategy&quot;:&quot;2~default~OPENSEARCH~PaidSort&quot;,&quot;dest&quot;:&quot;https://linuxai.blog.csdn.net/article/details/143446808&quot;}" data-report-query="spm=1001.2101.3001.6661.1&amp;utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7EOPENSEARCH%7EPaidSort-1-143446808-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7EOPENSEARCH%7EPaidSort-1-143446808-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;utm_relevant_index=1">
					<div class="left ellipsis-online ellipsis-online-1">嵌入式<em>Linux</em>系统中<em>GPIO</em>实验<em>详解</em></div>
				</a>
			</div>
			<div class="info-box display-flex">
				<div class="info">
					<a href="https://blog.csdn.net/weixin_41114301" target="_blank" data-report-query="spm=1001.2101.3001.6661.1&amp;utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7EOPENSEARCH%7EPaidSort-1-143446808-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7EOPENSEARCH%7EPaidSort-1-143446808-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;utm_relevant_index=1"><span class="blog-title">嵌入式技术开发</span></a>
				</div>
				<div class="info display-flex">
					<span class="info-block time">11-02</span>
					<span class="info-block read"><img class="read-img" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/readCountWhite.png" alt="">
					378
					</span>
				</div>
			</div>
		</div>
		<div class="desc-box">
			<a href="https://linuxai.blog.csdn.net/article/details/143446808" target="_blank" data-report-click="{&quot;ab&quot;:&quot;new&quot;,&quot;spm&quot;:&quot;1001.2101.3001.6661.1&quot;,&quot;mod&quot;:&quot;popu_871&quot;,&quot;extra&quot;:&quot;{\&quot;highlightScore\&quot;:0.0,\&quot;utm_medium\&quot;:\&quot;distribute.pc_relevant_t0.none-task-blog-2~default~OPENSEARCH~PaidSort-1-143446808-blog-132686757.235^v43^pc_blog_bottom_relevance_base7\&quot;,\&quot;dist_request_id\&quot;:\&quot;1745740675597_35004\&quot;}&quot;,&quot;dist_request_id&quot;:&quot;1745740675597_35004&quot;,&quot;ab_strategy&quot;:&quot;landing_bge_commercial_hanlp&quot;,&quot;index&quot;:&quot;1&quot;,&quot;strategy&quot;:&quot;2~default~OPENSEARCH~PaidSort&quot;,&quot;dest&quot;:&quot;https://linuxai.blog.csdn.net/article/details/143446808&quot;}" data-report-query="spm=1001.2101.3001.6661.1&amp;utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7EOPENSEARCH%7EPaidSort-1-143446808-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7EOPENSEARCH%7EPaidSort-1-143446808-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;utm_relevant_index=1">
				<div class="desc ellipsis-online ellipsis-online-1">struct <em>gpio</em>_desc *<em>gpio</em>d_get是<em>Linux</em><em>内核</em>中用于获取<em>GPIO</em>描述符函数。释放<em>GPIO</em>描述符<em>gpio</em>d_put()函数是<em>Linux</em><em>内核</em>中用于释放<em>GPIO</em>描述符资源的函数。该函数的作用是获取<em>GPIO</em>描述符所代表的<em>GPIO</em>的方向。通过该函数，可以确定<em>GPIO</em>是配置为输入还是输出。</div>
			</a>
		</div>
	</div>
</div>
                </div>
            <script src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/pc_wap_commontools-a1b42bf722.min.js.下载" type="text/javascript" async=""></script>
              <div class="second-recommend-box recommend-box ">
<div class="recommend-item-box type_blog clearfix" data-url="https://blog.csdn.net/2301_76655007/article/details/137714526">
	<div class="content-box">
		<div class="content-blog display-flex">
			<div class="title-box">
				<a href="https://blog.csdn.net/2301_76655007/article/details/137714526" class="tit" target="_blank" data-report-click="{&quot;ab&quot;:&quot;new&quot;,&quot;spm&quot;:&quot;1001.2101.3001.6650.1&quot;,&quot;mod&quot;:&quot;popu_387&quot;,&quot;extra&quot;:&quot;{\&quot;highlightScore\&quot;:0.0,\&quot;utm_medium\&quot;:\&quot;distribute.pc_relevant.none-task-blog-2~default~OPENSEARCH~PaidSort-1-137714526-blog-132686757.235^v43^pc_blog_bottom_relevance_base7\&quot;,\&quot;dist_request_id\&quot;:\&quot;1745740675597_35004\&quot;}&quot;,&quot;dist_request_id&quot;:&quot;1745740675597_35004&quot;,&quot;ab_strategy&quot;:&quot;landing_bge_commercial_hanlp&quot;,&quot;index&quot;:&quot;1&quot;,&quot;strategy&quot;:&quot;2~default~OPENSEARCH~PaidSort&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/2301_76655007/article/details/137714526&quot;}" data-report-query="spm=1001.2101.3001.6650.1&amp;utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EOPENSEARCH%7EPaidSort-1-137714526-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EOPENSEARCH%7EPaidSort-1-137714526-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;utm_relevant_index=2">
					<div class="left ellipsis-online ellipsis-online-1"><em>pinctrl</em><em>和</em><em>gpio</em><em>子系统</em><em>详解</em>——<em>Linux</em><em>驱动</em><em>led</em>实验</div>
				</a>
			</div>
			<div class="info-box display-flex">
				<div class="info">
					<a href="https://blog.csdn.net/2301_76655007" target="_blank" data-report-query="spm=1001.2101.3001.6650.1&amp;utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EOPENSEARCH%7EPaidSort-1-137714526-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EOPENSEARCH%7EPaidSort-1-137714526-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;utm_relevant_index=2"><span class="blog-title">2301_76655007的博客</span></a>
				</div>
				<div class="info display-flex">
					<span class="info-block time">04-13</span>
					<span class="info-block read"><img class="read-img" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/readCountWhite.png" alt="">
					2379
					</span>
				</div>
			</div>
		</div>
		<div class="desc-box">
			<a href="https://blog.csdn.net/2301_76655007/article/details/137714526" target="_blank" data-report-click="{&quot;ab&quot;:&quot;new&quot;,&quot;spm&quot;:&quot;1001.2101.3001.6650.1&quot;,&quot;mod&quot;:&quot;popu_387&quot;,&quot;extra&quot;:&quot;{\&quot;highlightScore\&quot;:0.0,\&quot;utm_medium\&quot;:\&quot;distribute.pc_relevant.none-task-blog-2~default~OPENSEARCH~PaidSort-1-137714526-blog-132686757.235^v43^pc_blog_bottom_relevance_base7\&quot;,\&quot;dist_request_id\&quot;:\&quot;1745740675597_35004\&quot;}&quot;,&quot;dist_request_id&quot;:&quot;1745740675597_35004&quot;,&quot;ab_strategy&quot;:&quot;landing_bge_commercial_hanlp&quot;,&quot;index&quot;:&quot;1&quot;,&quot;strategy&quot;:&quot;2~default~OPENSEARCH~PaidSort&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/2301_76655007/article/details/137714526&quot;}" data-report-query="spm=1001.2101.3001.6650.1&amp;utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EOPENSEARCH%7EPaidSort-1-137714526-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EOPENSEARCH%7EPaidSort-1-137714526-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;utm_relevant_index=2">
				<div class="desc ellipsis-online ellipsis-online-1"><em>Linux</em> <em>驱动</em>讲究<em>驱动</em>分离与分层，<em>pinctrl</em><em>和</em><em>gpio</em><em>子系统</em>就是<em>驱动</em>分离与分层思想下的产物，<em>驱动</em>分离与分层其实就是按照面向对象编程的设计思想而设计的设备<em>驱动</em><em>框架</em>。大多数 SOC的pin都是支持复用的，比如I.MX6ULL的<em>GPIO</em>1_IO03既可以作为普通的<em>GPIO</em>使用，也可以作为I2C1的SDA等等。此外我们还需要配置pin的电气特性，比如上下拉、速度、<em>驱动</em>能力等等。。</div>
			</a>
		</div>
	</div>
</div>
              </div>
<a id="commentBox" name="commentBox"></a>
  <div id="pcCommentBox" class="comment-box comment-box-new2 login-comment-box-new" style="">
      <div class="has-comment" style="display:block">
        <div class="one-line-box">
          <div class="has-comment-tit go-side-comment">
            <span class="count">4</span>&nbsp;条评论
          </div>
          <div class="has-comment-con comment-operate-item"><div class="hot-comment-box" data-commentid="34528923"><a class="hot-comment-href" target="_blank" href="https://blog.csdn.net/lj250668420"><img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/4cd694fd041d4372aa84ec63f754b205_lj250668420.jpg!1">奔跑的枕头</a><span class="hot-comment-tag">热评</span><div class="hot-comment-con">感谢大佬高质量的文章</div></div></div>
          <a class="has-comment-bt-right go-side-comment focus">写评论</a>
        </div>
      </div>
  </div>
              <div class="recommend-box insert-baidu-box recommend-box-style ">
                <div class="recommend-item-box no-index" style="display:none"></div><div class="recommend-item-box baiduSearch clearfix" data-url="https://blog.csdn.net/xie__jin__cheng/article/details/142514266" data-type="blog">	                <div class="content-box">		                <div class="content-blog display-flex">			                  <div class="title-box">				                  <a class="tit" href="https://blog.csdn.net/xie__jin__cheng/article/details/142514266" target="_blank" data-report-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;extra&quot;:&quot;{\&quot;utm_medium\&quot;:\&quot;distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-0-142514266-blog-132686757.235^v43^pc_blog_bottom_relevance_base7\&quot;,\&quot;dist_request_id\&quot;:\&quot;1745740675597_35004\&quot;,\&quot;parent_index\&quot;:\&quot;0\&quot;}&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4242.1&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/xie__jin__cheng/article/details/142514266&quot;,&quot;strategy&quot;:&quot;2~default~baidujs_baidulandingword~default&quot;,&quot;ab&quot;:&quot;new&quot;,&quot;index&quot;:&quot;0&quot;}" data-report-query="utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-0-142514266-blog-132686757.235^v43^pc_blog_bottom_relevance_base7&amp;spm=1001.2101.3001.4242.1&amp;utm_relevant_index=3">					                <div class="left ellipsis-online ellipsis-online-1"><em>GPIO</em><em>驱动</em>开发</div>				                  </a>			                  </div>                    <div class="info-box display-flex">                      <div class="info display-flex">                        <span class="info-block">4-1</span>                      </div>                    </div>                  </div>                  <div class="desc-box">                    <a href="https://blog.csdn.net/xie__jin__cheng/article/details/142514266" target="_blank" data-report-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;extra&quot;:&quot;{\&quot;utm_medium\&quot;:\&quot;distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-0-142514266-blog-132686757.235^v43^pc_blog_bottom_relevance_base7\&quot;,\&quot;dist_request_id\&quot;:\&quot;1745740675597_35004\&quot;,\&quot;parent_index\&quot;:\&quot;0\&quot;}&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4242.1&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/xie__jin__cheng/article/details/142514266&quot;,&quot;strategy&quot;:&quot;2~default~baidujs_baidulandingword~default&quot;,&quot;ab&quot;:&quot;new&quot;,&quot;index&quot;:&quot;0&quot;}" data-report-query="utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-0-142514266-blog-132686757.235^v43^pc_blog_bottom_relevance_base7&amp;spm=1001.2101.3001.4242.1&amp;utm_relevant_index=3">                      <div class="desc ellipsis-online ellipsis-online-1">最上层:<em>GPIO</em>使用者<em>驱动</em>,如<em>LED</em> Driver、KEY Driver等,这些<em>驱动</em>直接控制<em>GPIO</em>硬件。 中间层:<em>GPIO</em>库,位于<em>内核</em>drivers/<em>gpio</em>/<em>gpio</em>lib.c文件中,提供统一的<em>GPIO</em>访问接口。 最下层:<em>GPIO</em>控制器<em>驱动</em>,负责<em>驱动</em>具体的<em>GPIO</em>控制器,并提供<em>gpio</em>_chip结构体给<em>GPIO</em>库使用。 <em>GPIO</em>控制器<em>驱动</em>需要提供一个<em>gpio</em>_chip结构体,并初始化其中的成...</div>                    </a>                  </div>                </div>              </div><div class="recommend-item-box baiduSearch clearfix" data-url="https://blog.csdn.net/qq_48361010/article/details/131449897" data-type="blog" data-report-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;extra&quot;:&quot;{\&quot;utm_medium\&quot;:\&quot;distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-1-131449897-blog-132686757.235^v43^pc_blog_bottom_relevance_base7\&quot;,\&quot;dist_request_id\&quot;:\&quot;1745740675597_35004\&quot;,\&quot;parent_index\&quot;:\&quot;0\&quot;}&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4242.2&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/qq_48361010/article/details/131449897&quot;,&quot;strategy&quot;:&quot;2~default~baidujs_baidulandingword~default&quot;,&quot;ab&quot;:&quot;new&quot;,&quot;index&quot;:&quot;1&quot;}">	                <div class="content-box">		                <div class="content-blog display-flex">			                  <div class="title-box">				                  <a class="tit" href="https://blog.csdn.net/qq_48361010/article/details/131449897" target="_blank" data-report-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;extra&quot;:&quot;{\&quot;utm_medium\&quot;:\&quot;distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-1-131449897-blog-132686757.235^v43^pc_blog_bottom_relevance_base7\&quot;,\&quot;dist_request_id\&quot;:\&quot;1745740675597_35004\&quot;,\&quot;parent_index\&quot;:\&quot;0\&quot;}&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4242.2&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/qq_48361010/article/details/131449897&quot;,&quot;strategy&quot;:&quot;2~default~baidujs_baidulandingword~default&quot;,&quot;ab&quot;:&quot;new&quot;,&quot;index&quot;:&quot;1&quot;}" data-report-query="utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-1-131449897-blog-132686757.235^v43^pc_blog_bottom_relevance_base7&amp;spm=1001.2101.3001.4242.2&amp;utm_relevant_index=4">					                <div class="left ellipsis-online ellipsis-online-1"><em>Linux</em><em>内核</em>编程(四)<em>gpio</em>寄存器<em>驱动</em>编写_<em>linux</em> 编译<em>内核</em><em>驱动</em>如何转换操 ...</div>				                  </a>			                  </div>                    <div class="info-box display-flex">                      <div class="info display-flex">                        <span class="info-block">4-27</span>                      </div>                    </div>                  </div>                  <div class="desc-box">                    <a href="https://blog.csdn.net/qq_48361010/article/details/131449897" target="_blank" data-report-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;extra&quot;:&quot;{\&quot;utm_medium\&quot;:\&quot;distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-1-131449897-blog-132686757.235^v43^pc_blog_bottom_relevance_base7\&quot;,\&quot;dist_request_id\&quot;:\&quot;1745740675597_35004\&quot;,\&quot;parent_index\&quot;:\&quot;0\&quot;}&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4242.2&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/qq_48361010/article/details/131449897&quot;,&quot;strategy&quot;:&quot;2~default~baidujs_baidulandingword~default&quot;,&quot;ab&quot;:&quot;new&quot;,&quot;index&quot;:&quot;1&quot;}" data-report-query="utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-1-131449897-blog-132686757.235^v43^pc_blog_bottom_relevance_base7&amp;spm=1001.2101.3001.4242.2&amp;utm_relevant_index=4">                      <div class="desc ellipsis-online ellipsis-online-1">ssize_t<em>gpio</em>_read(structfile*fp,char__user*ubuff,size_tsize,loff_t*offset){intret;unsignedcharkey=(*vir_pb_data&gt;&gt;4)&amp;0x01;rbuf[0]=key+48;ret=copy_to_user(ubuff,rbuf,MIN(1,size)</div>                    </a>                  </div>                </div>              </div>
<div class="recommend-item-box type_blog clearfix" data-url="https://devpress.csdn.net/v1/article/detail/82737731" data-report-view="{&quot;ab&quot;:&quot;new&quot;,&quot;spm&quot;:&quot;1001.2101.3001.6650.2&quot;,&quot;mod&quot;:&quot;popu_387&quot;,&quot;extra&quot;:&quot;{\&quot;highlightScore\&quot;:0.0,\&quot;utm_medium\&quot;:\&quot;distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~activity-2-82737731-blog-132686757.235^v43^pc_blog_bottom_relevance_base7\&quot;,\&quot;dist_request_id\&quot;:\&quot;1745740675597_35004\&quot;}&quot;,&quot;dist_request_id&quot;:&quot;1745740675597_35004&quot;,&quot;ab_strategy&quot;:&quot;landing_bge_commercial_hanlp&quot;,&quot;index&quot;:&quot;2&quot;,&quot;strategy&quot;:&quot;2~default~baidujs_baidulandingword~activity&quot;,&quot;dest&quot;:&quot;https://devpress.csdn.net/v1/article/detail/82737731&quot;}">
	<div class="content-box">
		<div class="content-blog display-flex">
			<div class="title-box">
				<a href="https://devpress.csdn.net/v1/article/detail/82737731" class="tit" target="_blank" data-report-click="{&quot;ab&quot;:&quot;new&quot;,&quot;spm&quot;:&quot;1001.2101.3001.6650.2&quot;,&quot;mod&quot;:&quot;popu_387&quot;,&quot;extra&quot;:&quot;{\&quot;highlightScore\&quot;:0.0,\&quot;utm_medium\&quot;:\&quot;distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~activity-2-82737731-blog-132686757.235^v43^pc_blog_bottom_relevance_base7\&quot;,\&quot;dist_request_id\&quot;:\&quot;1745740675597_35004\&quot;}&quot;,&quot;dist_request_id&quot;:&quot;1745740675597_35004&quot;,&quot;ab_strategy&quot;:&quot;landing_bge_commercial_hanlp&quot;,&quot;index&quot;:&quot;2&quot;,&quot;strategy&quot;:&quot;2~default~baidujs_baidulandingword~activity&quot;,&quot;dest&quot;:&quot;https://devpress.csdn.net/v1/article/detail/82737731&quot;}" data-report-query="spm=1001.2101.3001.6650.2&amp;utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7Ebaidujs_baidulandingword%7Eactivity-2-82737731-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7Ebaidujs_baidulandingword%7Eactivity-2-82737731-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;utm_relevant_index=5">
					<div class="left ellipsis-online ellipsis-online-1">04-<em>Linux</em>设备树系列-<em>GPIO</em><em>驱动</em>实践</div>
				</a>
			</div>
			<div class="info-box display-flex">
				<div class="info">
					<a href="https://blog.csdn.net/linux_embedded" target="_blank" data-report-query="spm=1001.2101.3001.6650.2&amp;utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7Ebaidujs_baidulandingword%7Eactivity-2-82737731-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7Ebaidujs_baidulandingword%7Eactivity-2-82737731-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;utm_relevant_index=5"><span class="blog-title">飞翔de刺猬</span></a>
				</div>
				<div class="info display-flex">
					<span class="info-block time">09-17</span>
					<span class="info-block read"><img class="read-img" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/readCountWhite.png" alt="">
					1万+
					</span>
				</div>
			</div>
		</div>
		<div class="desc-box">
			<a href="https://devpress.csdn.net/v1/article/detail/82737731" target="_blank" data-report-click="{&quot;ab&quot;:&quot;new&quot;,&quot;spm&quot;:&quot;1001.2101.3001.6650.2&quot;,&quot;mod&quot;:&quot;popu_387&quot;,&quot;extra&quot;:&quot;{\&quot;highlightScore\&quot;:0.0,\&quot;utm_medium\&quot;:\&quot;distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~activity-2-82737731-blog-132686757.235^v43^pc_blog_bottom_relevance_base7\&quot;,\&quot;dist_request_id\&quot;:\&quot;1745740675597_35004\&quot;}&quot;,&quot;dist_request_id&quot;:&quot;1745740675597_35004&quot;,&quot;ab_strategy&quot;:&quot;landing_bge_commercial_hanlp&quot;,&quot;index&quot;:&quot;2&quot;,&quot;strategy&quot;:&quot;2~default~baidujs_baidulandingword~activity&quot;,&quot;dest&quot;:&quot;https://devpress.csdn.net/v1/article/detail/82737731&quot;}" data-report-query="spm=1001.2101.3001.6650.2&amp;utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7Ebaidujs_baidulandingword%7Eactivity-2-82737731-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7Ebaidujs_baidulandingword%7Eactivity-2-82737731-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;utm_relevant_index=5">
				<div class="desc ellipsis-online ellipsis-online-1">

1. 前言
2. <em>GPIO</em>编程模式
2.1 编程接口
2.2 DTS配置
2.3 <em>GPIO</em><em>驱动程序</em>
2.3 <em>GPIO</em>测试程序


3. <em>GPIO</em><em>子系统</em>的变化






1. 前言

<em>GPIO</em><em>驱动</em>开发可能算是<em>Linux</em><em>内核</em>设备<em>驱动</em>开发中最为简单、最常见的一个方向，对于开发板的按键、<em>LED</em>、蜂鸣器、电源控制等模块，可能都是使用<em>GPIO</em>实现的。<em>Linux</em><em>内核</em>的<em>GPIO</em><em>子系统</em>在<em>内核</em>不断的演进过程中进...</div>
			</a>
		</div>
	</div>
</div>
<div class="recommend-item-box type_blog clearfix" data-url="https://blog.csdn.net/sinat_23896491/article/details/146503060" data-report-view="{&quot;ab&quot;:&quot;new&quot;,&quot;spm&quot;:&quot;1001.2101.3001.6650.3&quot;,&quot;mod&quot;:&quot;popu_387&quot;,&quot;extra&quot;:&quot;{\&quot;highlightScore\&quot;:0.0,\&quot;utm_medium\&quot;:\&quot;distribute.pc_relevant.none-task-blog-2~default~YuanLiJiHua~Position-3-146503060-blog-132686757.235^v43^pc_blog_bottom_relevance_base7\&quot;,\&quot;dist_request_id\&quot;:\&quot;1745740675597_35004\&quot;}&quot;,&quot;dist_request_id&quot;:&quot;1745740675597_35004&quot;,&quot;ab_strategy&quot;:&quot;landing_bge_commercial_hanlp&quot;,&quot;index&quot;:&quot;3&quot;,&quot;strategy&quot;:&quot;2~default~YuanLiJiHua~Position&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/sinat_23896491/article/details/146503060&quot;}">
	<div class="content-box">
		<div class="content-blog display-flex">
			<div class="title-box">
				<a href="https://blog.csdn.net/sinat_23896491/article/details/146503060" class="tit" target="_blank" data-report-click="{&quot;ab&quot;:&quot;new&quot;,&quot;spm&quot;:&quot;1001.2101.3001.6650.3&quot;,&quot;mod&quot;:&quot;popu_387&quot;,&quot;extra&quot;:&quot;{\&quot;highlightScore\&quot;:0.0,\&quot;utm_medium\&quot;:\&quot;distribute.pc_relevant.none-task-blog-2~default~YuanLiJiHua~Position-3-146503060-blog-132686757.235^v43^pc_blog_bottom_relevance_base7\&quot;,\&quot;dist_request_id\&quot;:\&quot;1745740675597_35004\&quot;}&quot;,&quot;dist_request_id&quot;:&quot;1745740675597_35004&quot;,&quot;ab_strategy&quot;:&quot;landing_bge_commercial_hanlp&quot;,&quot;index&quot;:&quot;3&quot;,&quot;strategy&quot;:&quot;2~default~YuanLiJiHua~Position&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/sinat_23896491/article/details/146503060&quot;}" data-report-query="spm=1001.2101.3001.6650.3&amp;utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EYuanLiJiHua%7EPosition-3-146503060-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EYuanLiJiHua%7EPosition-3-146503060-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;utm_relevant_index=6">
					<div class="left ellipsis-online ellipsis-online-1">【<em>Linux</em>-<em>驱动</em>开发-<em>GPIO</em><em>子系统</em>】</div>
					<div class="tag">最新发布</div>
				</a>
			</div>
			<div class="info-box display-flex">
				<div class="info">
					<a href="https://blog.csdn.net/sinat_23896491" target="_blank" data-report-query="spm=1001.2101.3001.6650.3&amp;utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EYuanLiJiHua%7EPosition-3-146503060-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EYuanLiJiHua%7EPosition-3-146503060-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;utm_relevant_index=6"><span class="blog-title">sinat_23896491的博客</span></a>
				</div>
				<div class="info display-flex">
					<span class="info-block time">03-25</span>
					<span class="info-block read"><img class="read-img" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/readCountWhite.png" alt="">
					1183
					</span>
				</div>
			</div>
		</div>
		<div class="desc-box">
			<a href="https://blog.csdn.net/sinat_23896491/article/details/146503060" target="_blank" data-report-click="{&quot;ab&quot;:&quot;new&quot;,&quot;spm&quot;:&quot;1001.2101.3001.6650.3&quot;,&quot;mod&quot;:&quot;popu_387&quot;,&quot;extra&quot;:&quot;{\&quot;highlightScore\&quot;:0.0,\&quot;utm_medium\&quot;:\&quot;distribute.pc_relevant.none-task-blog-2~default~YuanLiJiHua~Position-3-146503060-blog-132686757.235^v43^pc_blog_bottom_relevance_base7\&quot;,\&quot;dist_request_id\&quot;:\&quot;1745740675597_35004\&quot;}&quot;,&quot;dist_request_id&quot;:&quot;1745740675597_35004&quot;,&quot;ab_strategy&quot;:&quot;landing_bge_commercial_hanlp&quot;,&quot;index&quot;:&quot;3&quot;,&quot;strategy&quot;:&quot;2~default~YuanLiJiHua~Position&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/sinat_23896491/article/details/146503060&quot;}" data-report-query="spm=1001.2101.3001.6650.3&amp;utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EYuanLiJiHua%7EPosition-3-146503060-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EYuanLiJiHua%7EPosition-3-146503060-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;utm_relevant_index=6">
				<div class="desc ellipsis-online ellipsis-online-1">第二个 cell 表示<em>GPIO</em> 极 性 ， 如 果 为 0(<em>GPIO</em>_ACTIVE_HIGH) 的 话 表 示 高 电 平 有 效 ， 如 果 为1(<em>GPIO</em>_ACTIVE_LOW)的话表示低电平有效。2、 <em>gpio</em>_free 函数       如果不使用某个 <em>GPIO</em> 了，那么就可以调用 <em>gpio</em>_free 函数进行释放。3、 of_get_named_<em>gpio</em> 函数      此函数获取 <em>GPIO</em> 编号，6、 <em>gpio</em>_set_value 函数     设置某个 <em>GPIO</em> 的值，</div>
			</a>
		</div>
	</div>
</div><div class="recommend-item-box baiduSearch clearfix" data-url="https://download.csdn.net/download/jFdHNams/90690079" data-type="download" data-report-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;extra&quot;:&quot;{\&quot;utm_medium\&quot;:\&quot;distribute.pc_relevant.none-task-download-2~default~baidujs_baidulandingword~default-4-90690079-blog-132686757.235^v43^pc_blog_bottom_relevance_base7\&quot;,\&quot;dist_request_id\&quot;:\&quot;1745740675597_35004\&quot;,\&quot;parent_index\&quot;:\&quot;3\&quot;}&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4242.3&quot;,&quot;dest&quot;:&quot;https://download.csdn.net/download/jFdHNams/90690079&quot;,&quot;strategy&quot;:&quot;2~default~baidujs_baidulandingword~default&quot;,&quot;ab&quot;:&quot;new&quot;,&quot;index&quot;:&quot;4&quot;}">	                <div class="content-box">		                <div class="content-blog display-flex">			                  <div class="title-box">				                  <a class="tit" href="https://download.csdn.net/download/jFdHNams/90690079" target="_blank" data-report-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;extra&quot;:&quot;{\&quot;utm_medium\&quot;:\&quot;distribute.pc_relevant.none-task-download-2~default~baidujs_baidulandingword~default-4-90690079-blog-132686757.235^v43^pc_blog_bottom_relevance_base7\&quot;,\&quot;dist_request_id\&quot;:\&quot;1745740675597_35004\&quot;,\&quot;parent_index\&quot;:\&quot;3\&quot;}&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4242.3&quot;,&quot;dest&quot;:&quot;https://download.csdn.net/download/jFdHNams/90690079&quot;,&quot;strategy&quot;:&quot;2~default~baidujs_baidulandingword~default&quot;,&quot;ab&quot;:&quot;new&quot;,&quot;index&quot;:&quot;4&quot;}" data-report-query="utm_medium=distribute.pc_relevant.none-task-download-2~default~baidujs_baidulandingword~default-4-90690079-blog-132686757.235^v43^pc_blog_bottom_relevance_base7&amp;spm=1001.2101.3001.4242.3&amp;utm_relevant_index=7">					                <div class="left ellipsis-online ellipsis-online-1">...基于STM32的DHT11温湿度采集Proteus仿真:硬件搭建、<em>驱动</em><em>代码</em>与...</div>				                  </a>			                  </div>                    <div class="info-box display-flex">                      <div class="info display-flex">                        <span class="info-block">4-25</span>                      </div>                    </div>                  </div>                  <div class="desc-box">                    <a href="https://download.csdn.net/download/jFdHNams/90690079" target="_blank" data-report-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;extra&quot;:&quot;{\&quot;utm_medium\&quot;:\&quot;distribute.pc_relevant.none-task-download-2~default~baidujs_baidulandingword~default-4-90690079-blog-132686757.235^v43^pc_blog_bottom_relevance_base7\&quot;,\&quot;dist_request_id\&quot;:\&quot;1745740675597_35004\&quot;,\&quot;parent_index\&quot;:\&quot;3\&quot;}&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4242.3&quot;,&quot;dest&quot;:&quot;https://download.csdn.net/download/jFdHNams/90690079&quot;,&quot;strategy&quot;:&quot;2~default~baidujs_baidulandingword~default&quot;,&quot;ab&quot;:&quot;new&quot;,&quot;index&quot;:&quot;4&quot;}" data-report-query="utm_medium=distribute.pc_relevant.none-task-download-2~default~baidujs_baidulandingword~default-4-90690079-blog-132686757.235^v43^pc_blog_bottom_relevance_base7&amp;spm=1001.2101.3001.4242.3&amp;utm_relevant_index=7">                      <div class="desc ellipsis-online ellipsis-online-1">使用场景及目标:适用于学习STM32外设<em>驱动</em>、传感器数据采集、显示控制<em>和</em>数据通信的应用场景。目标是帮助读者掌握从硬件搭建到软件编程的全<em>流程</em>,最终实现一个完整的温湿度监控系统。其他说明:文中提供的<em>代码</em>片段<em>和</em>调试技巧对于理解<em>和</em>解决常见问题是十分宝贵的。此外,作者还分享了一些仿真环境中特有的注意事项,如Proteus中DHT...</div>                    </a>                  </div>                </div>              </div><div class="recommend-item-box baiduSearch clearfix" data-url="https://blog.csdn.net/lhl_blog/article/details/82892809" data-type="blog" data-report-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;extra&quot;:&quot;{\&quot;utm_medium\&quot;:\&quot;distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-5-82892809-blog-132686757.235^v43^pc_blog_bottom_relevance_base7\&quot;,\&quot;dist_request_id\&quot;:\&quot;1745740675597_35004\&quot;,\&quot;parent_index\&quot;:\&quot;3\&quot;}&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4242.4&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/lhl_blog/article/details/82892809&quot;,&quot;strategy&quot;:&quot;2~default~baidujs_baidulandingword~default&quot;,&quot;ab&quot;:&quot;new&quot;,&quot;index&quot;:&quot;5&quot;}">	                <div class="content-box">		                <div class="content-blog display-flex">			                  <div class="title-box">				                  <a class="tit" href="https://blog.csdn.net/lhl_blog/article/details/82892809" target="_blank" data-report-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;extra&quot;:&quot;{\&quot;utm_medium\&quot;:\&quot;distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-5-82892809-blog-132686757.235^v43^pc_blog_bottom_relevance_base7\&quot;,\&quot;dist_request_id\&quot;:\&quot;1745740675597_35004\&quot;,\&quot;parent_index\&quot;:\&quot;3\&quot;}&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4242.4&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/lhl_blog/article/details/82892809&quot;,&quot;strategy&quot;:&quot;2~default~baidujs_baidulandingword~default&quot;,&quot;ab&quot;:&quot;new&quot;,&quot;index&quot;:&quot;5&quot;}" data-report-query="utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-5-82892809-blog-132686757.235^v43^pc_blog_bottom_relevance_base7&amp;spm=1001.2101.3001.4242.4&amp;utm_relevant_index=8">					                <div class="left ellipsis-online ellipsis-online-1"><em>Linux</em> <em>gpio</em>-keys<em>驱动</em>解析</div>				                  </a>			                  </div>                    <div class="info-box display-flex">                      <div class="info display-flex">                        <span class="info-block">4-26</span>                      </div>                    </div>                  </div>                  <div class="desc-box">                    <a href="https://blog.csdn.net/lhl_blog/article/details/82892809" target="_blank" data-report-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;extra&quot;:&quot;{\&quot;utm_medium\&quot;:\&quot;distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-5-82892809-blog-132686757.235^v43^pc_blog_bottom_relevance_base7\&quot;,\&quot;dist_request_id\&quot;:\&quot;1745740675597_35004\&quot;,\&quot;parent_index\&quot;:\&quot;3\&quot;}&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4242.4&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/lhl_blog/article/details/82892809&quot;,&quot;strategy&quot;:&quot;2~default~baidujs_baidulandingword~default&quot;,&quot;ab&quot;:&quot;new&quot;,&quot;index&quot;:&quot;5&quot;}" data-report-query="utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-5-82892809-blog-132686757.235^v43^pc_blog_bottom_relevance_base7&amp;spm=1001.2101.3001.4242.4&amp;utm_relevant_index=8">                      <div class="desc ellipsis-online ellipsis-online-1"><em>gpio</em>-keys<em>驱动</em>使能 按键事件应用测试 总结 前言 <em>Linux</em><em>内核</em>中的<em>gpio</em>-keys.c(driver/input/keyboard/<em>gpio</em>-keys.c)统一了所有关于按键的<em>驱动</em>实现方式。其良好的<em>代码</em>架构可以兼容几乎所有平台的关于按键的处理<em>流程</em>。如果需要在目标平台实现关于按键的<em>驱动程序</em>,完全可以直接使用该<em>驱动</em>,几乎不用自己实现任何<em>代码</em>。 </div>                    </a>                  </div>                </div>              </div>
		
<div class="recommend-item-box type_download clearfix" data-url="https://download.csdn.net/download/ddffyhg/11022291" data-report-view="{&quot;ab&quot;:&quot;new&quot;,&quot;spm&quot;:&quot;1001.2101.3001.6650.4&quot;,&quot;mod&quot;:&quot;popu_387&quot;,&quot;extra&quot;:&quot;{\&quot;highlightScore\&quot;:0.0,\&quot;utm_medium\&quot;:\&quot;distribute.pc_relevant.none-task-download-2~default~BlogCommendFromBaidu~Rate-4-11022291-blog-132686757.235^v43^pc_blog_bottom_relevance_base7\&quot;,\&quot;dist_request_id\&quot;:\&quot;1745740675597_35004\&quot;}&quot;,&quot;dist_request_id&quot;:&quot;1745740675597_35004&quot;,&quot;ab_strategy&quot;:&quot;landing_bge_commercial_hanlp&quot;,&quot;index&quot;:&quot;4&quot;,&quot;strategy&quot;:&quot;2~default~BlogCommendFromBaidu~Rate&quot;,&quot;dest&quot;:&quot;https://download.csdn.net/download/ddffyhg/11022291&quot;}">
	<div class="content-box">
		<div class="content-blog display-flex">
			<div class="title-box">
				<a href="https://download.csdn.net/download/ddffyhg/11022291" class="tit" target="_blank" data-report-click="{&quot;ab&quot;:&quot;new&quot;,&quot;spm&quot;:&quot;1001.2101.3001.6650.4&quot;,&quot;mod&quot;:&quot;popu_387&quot;,&quot;extra&quot;:&quot;{\&quot;highlightScore\&quot;:0.0,\&quot;utm_medium\&quot;:\&quot;distribute.pc_relevant.none-task-download-2~default~BlogCommendFromBaidu~Rate-4-11022291-blog-132686757.235^v43^pc_blog_bottom_relevance_base7\&quot;,\&quot;dist_request_id\&quot;:\&quot;1745740675597_35004\&quot;}&quot;,&quot;dist_request_id&quot;:&quot;1745740675597_35004&quot;,&quot;ab_strategy&quot;:&quot;landing_bge_commercial_hanlp&quot;,&quot;index&quot;:&quot;4&quot;,&quot;strategy&quot;:&quot;2~default~BlogCommendFromBaidu~Rate&quot;,&quot;dest&quot;:&quot;https://download.csdn.net/download/ddffyhg/11022291&quot;}" data-report-query="spm=1001.2101.3001.6650.4&amp;utm_medium=distribute.pc_relevant.none-task-download-2%7Edefault%7EBlogCommendFromBaidu%7ERate-4-11022291-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;depth_1-utm_source=distribute.pc_relevant.none-task-download-2%7Edefault%7EBlogCommendFromBaidu%7ERate-4-11022291-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;utm_relevant_index=9">
					<div class="left ellipsis-online ellipsis-online-1"><em>gpio</em><em>内核</em><em>驱动</em>模块（<em>驱动程序</em>）</div>
				</a>
			</div>
			<div class="info-box display-flex">
				<div class="info display-flex">
					<span class="info-block">03-15</span>
				</div>
			</div>
		</div>
		<div class="desc-box">
			<a href="https://download.csdn.net/download/ddffyhg/11022291" target="_blank" data-report-click="{&quot;ab&quot;:&quot;new&quot;,&quot;spm&quot;:&quot;1001.2101.3001.6650.4&quot;,&quot;mod&quot;:&quot;popu_387&quot;,&quot;extra&quot;:&quot;{\&quot;highlightScore\&quot;:0.0,\&quot;utm_medium\&quot;:\&quot;distribute.pc_relevant.none-task-download-2~default~BlogCommendFromBaidu~Rate-4-11022291-blog-132686757.235^v43^pc_blog_bottom_relevance_base7\&quot;,\&quot;dist_request_id\&quot;:\&quot;1745740675597_35004\&quot;}&quot;,&quot;dist_request_id&quot;:&quot;1745740675597_35004&quot;,&quot;ab_strategy&quot;:&quot;landing_bge_commercial_hanlp&quot;,&quot;index&quot;:&quot;4&quot;,&quot;strategy&quot;:&quot;2~default~BlogCommendFromBaidu~Rate&quot;,&quot;dest&quot;:&quot;https://download.csdn.net/download/ddffyhg/11022291&quot;}" data-report-query="spm=1001.2101.3001.6650.4&amp;utm_medium=distribute.pc_relevant.none-task-download-2%7Edefault%7EBlogCommendFromBaidu%7ERate-4-11022291-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;depth_1-utm_source=distribute.pc_relevant.none-task-download-2%7Edefault%7EBlogCommendFromBaidu%7ERate-4-11022291-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;utm_relevant_index=9">
				<div class="desc ellipsis-online ellipsis-online-1">此程序为全志H3的<em>GPIO</em><em>内核</em><em>驱动程序</em><em>驱动</em>部分</div>
			</a>
		</div>
	</div>
</div>
<div class="recommend-item-box type_blog clearfix" data-url="https://blog.csdn.net/wjs1033/article/details/42455903" data-report-view="{&quot;ab&quot;:&quot;new&quot;,&quot;spm&quot;:&quot;1001.2101.3001.6650.5&quot;,&quot;mod&quot;:&quot;popu_387&quot;,&quot;extra&quot;:&quot;{\&quot;highlightScore\&quot;:0.0,\&quot;utm_medium\&quot;:\&quot;distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-5-42455903-blog-132686757.235^v43^pc_blog_bottom_relevance_base7\&quot;,\&quot;dist_request_id\&quot;:\&quot;1745740675597_35004\&quot;}&quot;,&quot;dist_request_id&quot;:&quot;1745740675597_35004&quot;,&quot;ab_strategy&quot;:&quot;landing_bge_commercial_hanlp&quot;,&quot;index&quot;:&quot;5&quot;,&quot;strategy&quot;:&quot;2~default~BlogCommendFromBaidu~Rate&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/wjs1033/article/details/42455903&quot;}">
	<div class="content-box">
		<div class="content-blog display-flex">
			<div class="title-box">
				<a href="https://blog.csdn.net/wjs1033/article/details/42455903" class="tit" target="_blank" data-report-click="{&quot;ab&quot;:&quot;new&quot;,&quot;spm&quot;:&quot;1001.2101.3001.6650.5&quot;,&quot;mod&quot;:&quot;popu_387&quot;,&quot;extra&quot;:&quot;{\&quot;highlightScore\&quot;:0.0,\&quot;utm_medium\&quot;:\&quot;distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-5-42455903-blog-132686757.235^v43^pc_blog_bottom_relevance_base7\&quot;,\&quot;dist_request_id\&quot;:\&quot;1745740675597_35004\&quot;}&quot;,&quot;dist_request_id&quot;:&quot;1745740675597_35004&quot;,&quot;ab_strategy&quot;:&quot;landing_bge_commercial_hanlp&quot;,&quot;index&quot;:&quot;5&quot;,&quot;strategy&quot;:&quot;2~default~BlogCommendFromBaidu~Rate&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/wjs1033/article/details/42455903&quot;}" data-report-query="spm=1001.2101.3001.6650.5&amp;utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-5-42455903-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-5-42455903-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;utm_relevant_index=10">
					<div class="left ellipsis-online ellipsis-online-1"><em>linux</em><em>内核</em>中的<em>GPIO</em>系统之（1）：软件<em>框架</em></div>
				</a>
			</div>
			<div class="info-box display-flex">
				<div class="info">
					<a href="https://blog.csdn.net/wjs1033" target="_blank" data-report-query="spm=1001.2101.3001.6650.5&amp;utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-5-42455903-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-5-42455903-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;utm_relevant_index=10"><span class="blog-title">wjs1033的专栏</span></a>
				</div>
				<div class="info display-flex">
					<span class="info-block time">01-06</span>
					<span class="info-block read"><img class="read-img" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/readCountWhite.png" alt="">
					1588
					</span>
				</div>
			</div>
		</div>
		<div class="desc-box">
			<a href="https://blog.csdn.net/wjs1033/article/details/42455903" target="_blank" data-report-click="{&quot;ab&quot;:&quot;new&quot;,&quot;spm&quot;:&quot;1001.2101.3001.6650.5&quot;,&quot;mod&quot;:&quot;popu_387&quot;,&quot;extra&quot;:&quot;{\&quot;highlightScore\&quot;:0.0,\&quot;utm_medium\&quot;:\&quot;distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-5-42455903-blog-132686757.235^v43^pc_blog_bottom_relevance_base7\&quot;,\&quot;dist_request_id\&quot;:\&quot;1745740675597_35004\&quot;}&quot;,&quot;dist_request_id&quot;:&quot;1745740675597_35004&quot;,&quot;ab_strategy&quot;:&quot;landing_bge_commercial_hanlp&quot;,&quot;index&quot;:&quot;5&quot;,&quot;strategy&quot;:&quot;2~default~BlogCommendFromBaidu~Rate&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/wjs1033/article/details/42455903&quot;}" data-report-query="spm=1001.2101.3001.6650.5&amp;utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-5-42455903-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-5-42455903-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;utm_relevant_index=10">
				<div class="desc ellipsis-online ellipsis-online-1">一、前言

作为一个工作多年的系统工程师，免不了做两件事情：培训新员工<em>和</em>给新员工分配任务。对于那些刚刚从学校出来的学生，一般在开始的时候总是分配一些非常简单的任务，例如<em>GPIO</em> driver、<em>LED</em> driver。往往CPU datasheet的关于<em>GPIO</em>或者IO ports的章节都是比较简单的，非常适合刚入行的工程师。虽然<em>GPIO</em><em>子系统</em>相关的硬件比较简单，没有复杂的协议，不过，对于软件抽象</div>
			</a>
		</div>
	</div>
</div><div class="recommend-item-box baiduSearch clearfix" data-url="https://blog.csdn.net/vacajk/article/details/62216851" data-type="blog" data-report-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;extra&quot;:&quot;{\&quot;utm_medium\&quot;:\&quot;distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-8-62216851-blog-132686757.235^v43^pc_blog_bottom_relevance_base7\&quot;,\&quot;dist_request_id\&quot;:\&quot;1745740675597_35004\&quot;,\&quot;parent_index\&quot;:\&quot;5\&quot;}&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4242.5&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/vacajk/article/details/62216851&quot;,&quot;strategy&quot;:&quot;2~default~baidujs_baidulandingword~default&quot;,&quot;ab&quot;:&quot;new&quot;,&quot;index&quot;:&quot;8&quot;}">	                <div class="content-box">		                <div class="content-blog display-flex">			                  <div class="title-box">				                  <a class="tit" href="https://blog.csdn.net/vacajk/article/details/62216851" target="_blank" data-report-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;extra&quot;:&quot;{\&quot;utm_medium\&quot;:\&quot;distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-8-62216851-blog-132686757.235^v43^pc_blog_bottom_relevance_base7\&quot;,\&quot;dist_request_id\&quot;:\&quot;1745740675597_35004\&quot;,\&quot;parent_index\&quot;:\&quot;5\&quot;}&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4242.5&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/vacajk/article/details/62216851&quot;,&quot;strategy&quot;:&quot;2~default~baidujs_baidulandingword~default&quot;,&quot;ab&quot;:&quot;new&quot;,&quot;index&quot;:&quot;8&quot;}" data-report-query="utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-8-62216851-blog-132686757.235^v43^pc_blog_bottom_relevance_base7&amp;spm=1001.2101.3001.4242.5&amp;utm_relevant_index=11">					                <div class="left ellipsis-online ellipsis-online-1">-10-<em>GPIO</em><em>驱动程序</em>【Xilinx-Peta<em>linux</em>学习】_peta<em>linux</em> <em>gpio</em>-CSDN...</div>				                  </a>			                  </div>                    <div class="info-box display-flex">                      <div class="info display-flex">                        <span class="info-block">4-20</span>                      </div>                    </div>                  </div>                  <div class="desc-box">                    <a href="https://blog.csdn.net/vacajk/article/details/62216851" target="_blank" data-report-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;extra&quot;:&quot;{\&quot;utm_medium\&quot;:\&quot;distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-8-62216851-blog-132686757.235^v43^pc_blog_bottom_relevance_base7\&quot;,\&quot;dist_request_id\&quot;:\&quot;1745740675597_35004\&quot;,\&quot;parent_index\&quot;:\&quot;5\&quot;}&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4242.5&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/vacajk/article/details/62216851&quot;,&quot;strategy&quot;:&quot;2~default~baidujs_baidulandingword~default&quot;,&quot;ab&quot;:&quot;new&quot;,&quot;index&quot;:&quot;8&quot;}" data-report-query="utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-8-62216851-blog-132686757.235^v43^pc_blog_bottom_relevance_base7&amp;spm=1001.2101.3001.4242.5&amp;utm_relevant_index=11">                      <div class="desc ellipsis-online ellipsis-online-1">下面介绍<em>gpio</em>-keys, <em>led</em>s-<em>gpio</em>的<em>驱动</em>,而<em>Gpio</em>lib网上有很多例子,以后再来学习。 一、工程配置 在上一节“EMIO Slice 自定义IP设计”中我们已经将ZynqSoC中PS的emio信号连接到了PL上的管脚,最终的bd图如下: 从EMIO(<em>GPIO</em>_0)中引出21个信号,分别连接到ZedBoard的BTN(5位),SW(8位)<em>和</em><em>LED</em>(8位)上,他们的emio编号...</div>                    </a>                  </div>                </div>              </div><div class="recommend-item-box baiduSearch clearfix" data-url="https://blog.csdn.net/lihaoweiv/article/details/7456400" data-type="blog" data-report-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;extra&quot;:&quot;{\&quot;utm_medium\&quot;:\&quot;distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-9-7456400-blog-132686757.235^v43^pc_blog_bottom_relevance_base7\&quot;,\&quot;dist_request_id\&quot;:\&quot;1745740675597_35004\&quot;,\&quot;parent_index\&quot;:\&quot;5\&quot;}&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4242.6&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/lihaoweiv/article/details/7456400&quot;,&quot;strategy&quot;:&quot;2~default~baidujs_baidulandingword~default&quot;,&quot;ab&quot;:&quot;new&quot;,&quot;index&quot;:&quot;9&quot;}">	                <div class="content-box">		                <div class="content-blog display-flex">			                  <div class="title-box">				                  <a class="tit" href="https://blog.csdn.net/lihaoweiv/article/details/7456400" target="_blank" data-report-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;extra&quot;:&quot;{\&quot;utm_medium\&quot;:\&quot;distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-9-7456400-blog-132686757.235^v43^pc_blog_bottom_relevance_base7\&quot;,\&quot;dist_request_id\&quot;:\&quot;1745740675597_35004\&quot;,\&quot;parent_index\&quot;:\&quot;5\&quot;}&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4242.6&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/lihaoweiv/article/details/7456400&quot;,&quot;strategy&quot;:&quot;2~default~baidujs_baidulandingword~default&quot;,&quot;ab&quot;:&quot;new&quot;,&quot;index&quot;:&quot;9&quot;}" data-report-query="utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-9-7456400-blog-132686757.235^v43^pc_blog_bottom_relevance_base7&amp;spm=1001.2101.3001.4242.6&amp;utm_relevant_index=12">					                <div class="left ellipsis-online ellipsis-online-1"><em>GPIO</em><em>驱动</em>分析 &amp; <em>GPIO</em>使用方法 -- S5PC110_<em>gpio</em> group</div>				                  </a>			                  </div>                    <div class="info-box display-flex">                      <div class="info display-flex">                        <span class="info-block">4-26</span>                      </div>                    </div>                  </div>                  <div class="desc-box">                    <a href="https://blog.csdn.net/lihaoweiv/article/details/7456400" target="_blank" data-report-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;extra&quot;:&quot;{\&quot;utm_medium\&quot;:\&quot;distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-9-7456400-blog-132686757.235^v43^pc_blog_bottom_relevance_base7\&quot;,\&quot;dist_request_id\&quot;:\&quot;1745740675597_35004\&quot;,\&quot;parent_index\&quot;:\&quot;5\&quot;}&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4242.6&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/lihaoweiv/article/details/7456400&quot;,&quot;strategy&quot;:&quot;2~default~baidujs_baidulandingword~default&quot;,&quot;ab&quot;:&quot;new&quot;,&quot;index&quot;:&quot;9&quot;}" data-report-query="utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-9-7456400-blog-132686757.235^v43^pc_blog_bottom_relevance_base7&amp;spm=1001.2101.3001.4242.6&amp;utm_relevant_index=12">                      <div class="desc ellipsis-online ellipsis-online-1">五,申请分配<em>GPIO</em> --判断<em>GPIO</em>是否被占用, 若可用则占用它. 比如:if(<em>gpio</em>_request(S5PV210_GPH0(2), "GPH0")),通过查看该port保存的记录标志是否为NULL来判断。<em>gpio</em>_desc[ARCH_NR_<em>GPIO</em>S]数值记录了每个io pin的情况. 注意:kernel<em>代码</em>的一个坏现象: 变量名与类型名经常取了相同的名字! 让人容易混淆.比如, ...</div>                    </a>                  </div>                </div>              </div>
<div class="recommend-item-box type_blog clearfix" data-url="https://blog.csdn.net/a785984/article/details/17558733" data-report-view="{&quot;ab&quot;:&quot;new&quot;,&quot;spm&quot;:&quot;1001.2101.3001.6650.6&quot;,&quot;mod&quot;:&quot;popu_387&quot;,&quot;extra&quot;:&quot;{\&quot;highlightScore\&quot;:0.0,\&quot;utm_medium\&quot;:\&quot;distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-6-17558733-blog-132686757.235^v43^pc_blog_bottom_relevance_base7\&quot;,\&quot;dist_request_id\&quot;:\&quot;1745740675597_35004\&quot;}&quot;,&quot;dist_request_id&quot;:&quot;1745740675597_35004&quot;,&quot;ab_strategy&quot;:&quot;landing_bge_commercial_hanlp&quot;,&quot;index&quot;:&quot;6&quot;,&quot;strategy&quot;:&quot;2~default~BlogCommendFromBaidu~Rate&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/a785984/article/details/17558733&quot;}">
	<div class="content-box">
		<div class="content-blog display-flex">
			<div class="title-box">
				<a href="https://blog.csdn.net/a785984/article/details/17558733" class="tit" target="_blank" data-report-click="{&quot;ab&quot;:&quot;new&quot;,&quot;spm&quot;:&quot;1001.2101.3001.6650.6&quot;,&quot;mod&quot;:&quot;popu_387&quot;,&quot;extra&quot;:&quot;{\&quot;highlightScore\&quot;:0.0,\&quot;utm_medium\&quot;:\&quot;distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-6-17558733-blog-132686757.235^v43^pc_blog_bottom_relevance_base7\&quot;,\&quot;dist_request_id\&quot;:\&quot;1745740675597_35004\&quot;}&quot;,&quot;dist_request_id&quot;:&quot;1745740675597_35004&quot;,&quot;ab_strategy&quot;:&quot;landing_bge_commercial_hanlp&quot;,&quot;index&quot;:&quot;6&quot;,&quot;strategy&quot;:&quot;2~default~BlogCommendFromBaidu~Rate&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/a785984/article/details/17558733&quot;}" data-report-query="spm=1001.2101.3001.6650.6&amp;utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-6-17558733-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-6-17558733-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;utm_relevant_index=13">
					<div class="left ellipsis-online ellipsis-online-1"><em>GPIO</em><em>驱动</em><em>框架</em></div>
				</a>
			</div>
			<div class="info-box display-flex">
				<div class="info">
					<a href="https://blog.csdn.net/a785984" target="_blank" data-report-query="spm=1001.2101.3001.6650.6&amp;utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-6-17558733-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-6-17558733-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;utm_relevant_index=13"><span class="blog-title">快乐搞内核代码</span></a>
				</div>
				<div class="info display-flex">
					<span class="info-block time">12-25</span>
					<span class="info-block read"><img class="read-img" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/readCountWhite.png" alt="">
					1202
					</span>
				</div>
			</div>
		</div>
		<div class="desc-box">
			<a href="https://blog.csdn.net/a785984/article/details/17558733" target="_blank" data-report-click="{&quot;ab&quot;:&quot;new&quot;,&quot;spm&quot;:&quot;1001.2101.3001.6650.6&quot;,&quot;mod&quot;:&quot;popu_387&quot;,&quot;extra&quot;:&quot;{\&quot;highlightScore\&quot;:0.0,\&quot;utm_medium\&quot;:\&quot;distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-6-17558733-blog-132686757.235^v43^pc_blog_bottom_relevance_base7\&quot;,\&quot;dist_request_id\&quot;:\&quot;1745740675597_35004\&quot;}&quot;,&quot;dist_request_id&quot;:&quot;1745740675597_35004&quot;,&quot;ab_strategy&quot;:&quot;landing_bge_commercial_hanlp&quot;,&quot;index&quot;:&quot;6&quot;,&quot;strategy&quot;:&quot;2~default~BlogCommendFromBaidu~Rate&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/a785984/article/details/17558733&quot;}" data-report-query="spm=1001.2101.3001.6650.6&amp;utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-6-17558733-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-6-17558733-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;utm_relevant_index=13">
				<div class="desc ellipsis-online ellipsis-online-1">﻿﻿

一、概述
<em>GPIO</em>是嵌入式系统最简单、最常用的资源了，比如点亮<em>LED</em>，控制蜂鸣器，输出高低电平，检测按键，等等。<em>GPIO</em>分输入<em>和</em>输出，在davinci&gt;.c，这个是寄存器级的<em>驱动</em>，搞过单片机MCU的朋友应该比较熟悉寄存器级的<em>驱动</em>。

<em>GPIO</em>的<em>驱动</em>主要就是读取<em>GPIO</em>口的状态，或者设置<em>GPIO</em>口的状态。就是这么简单，但是为了能够写好的这个<em>驱动</em>，在<em>LINUX</em>上作了一些软件上的分层。</div>
			</a>
		</div>
	</div>
</div>
<div class="recommend-item-box type_blog clearfix" data-url="https://blog.csdn.net/junglyfine/article/details/4881857" data-report-view="{&quot;ab&quot;:&quot;new&quot;,&quot;spm&quot;:&quot;1001.2101.3001.6650.7&quot;,&quot;mod&quot;:&quot;popu_387&quot;,&quot;extra&quot;:&quot;{\&quot;highlightScore\&quot;:0.0,\&quot;utm_medium\&quot;:\&quot;distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-7-4881857-blog-132686757.235^v43^pc_blog_bottom_relevance_base7\&quot;,\&quot;dist_request_id\&quot;:\&quot;1745740675597_35004\&quot;}&quot;,&quot;dist_request_id&quot;:&quot;1745740675597_35004&quot;,&quot;ab_strategy&quot;:&quot;landing_bge_commercial_hanlp&quot;,&quot;index&quot;:&quot;7&quot;,&quot;strategy&quot;:&quot;2~default~BlogCommendFromBaidu~Rate&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/junglyfine/article/details/4881857&quot;}">
	<div class="content-box">
		<div class="content-blog display-flex">
			<div class="title-box">
				<a href="https://blog.csdn.net/junglyfine/article/details/4881857" class="tit" target="_blank" data-report-click="{&quot;ab&quot;:&quot;new&quot;,&quot;spm&quot;:&quot;1001.2101.3001.6650.7&quot;,&quot;mod&quot;:&quot;popu_387&quot;,&quot;extra&quot;:&quot;{\&quot;highlightScore\&quot;:0.0,\&quot;utm_medium\&quot;:\&quot;distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-7-4881857-blog-132686757.235^v43^pc_blog_bottom_relevance_base7\&quot;,\&quot;dist_request_id\&quot;:\&quot;1745740675597_35004\&quot;}&quot;,&quot;dist_request_id&quot;:&quot;1745740675597_35004&quot;,&quot;ab_strategy&quot;:&quot;landing_bge_commercial_hanlp&quot;,&quot;index&quot;:&quot;7&quot;,&quot;strategy&quot;:&quot;2~default~BlogCommendFromBaidu~Rate&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/junglyfine/article/details/4881857&quot;}" data-report-query="spm=1001.2101.3001.6650.7&amp;utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-7-4881857-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-7-4881857-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;utm_relevant_index=14">
					<div class="left ellipsis-online ellipsis-online-1"><em>linux</em>下的<em>GPIO</em><em>驱动</em> </div>
				</a>
			</div>
			<div class="info-box display-flex">
				<div class="info">
					<a href="https://blog.csdn.net/junglyfine" target="_blank" data-report-query="spm=1001.2101.3001.6650.7&amp;utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-7-4881857-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-7-4881857-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;utm_relevant_index=14"><span class="blog-title">junglyfine's Blog</span></a>
				</div>
				<div class="info display-flex">
					<span class="info-block time">11-26</span>
					<span class="info-block read"><img class="read-img" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/readCountWhite.png" alt="">
					1770
					</span>
				</div>
			</div>
		</div>
		<div class="desc-box">
			<a href="https://blog.csdn.net/junglyfine/article/details/4881857" target="_blank" data-report-click="{&quot;ab&quot;:&quot;new&quot;,&quot;spm&quot;:&quot;1001.2101.3001.6650.7&quot;,&quot;mod&quot;:&quot;popu_387&quot;,&quot;extra&quot;:&quot;{\&quot;highlightScore\&quot;:0.0,\&quot;utm_medium\&quot;:\&quot;distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-7-4881857-blog-132686757.235^v43^pc_blog_bottom_relevance_base7\&quot;,\&quot;dist_request_id\&quot;:\&quot;1745740675597_35004\&quot;}&quot;,&quot;dist_request_id&quot;:&quot;1745740675597_35004&quot;,&quot;ab_strategy&quot;:&quot;landing_bge_commercial_hanlp&quot;,&quot;index&quot;:&quot;7&quot;,&quot;strategy&quot;:&quot;2~default~BlogCommendFromBaidu~Rate&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/junglyfine/article/details/4881857&quot;}" data-report-query="spm=1001.2101.3001.6650.7&amp;utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-7-4881857-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-7-4881857-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;utm_relevant_index=14">
				<div class="desc ellipsis-online ellipsis-online-1">编写<em>驱动程序</em>，首先要了解是什么类型的设备。<em>linux</em>下的设备分为三类，分别为：字符设备，块设备<em>和</em>网络设备。字符设备类型是根据是否以字符流为数据的交换方式，大部分设备都是字符设备，如键盘，串口等，块设备则是以块为单位进行管理的设备，如，磁盘。网络设备就是网卡等。其次要了解应用程序<em>和</em><em>驱动程序</em>的区别，两者的主要区别分为以下三点：1入口函数的任务不相同，应用程序完成一个任务，<em>驱动</em>只完成初始化工作，</div>
			</a>
		</div>
	</div>
</div><div class="recommend-item-box baiduSearch clearfix" data-url="https://blog.csdn.net/lhl_blog/article/details/82737731" data-type="blog" data-report-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;extra&quot;:&quot;{\&quot;utm_medium\&quot;:\&quot;distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-12-82737731-blog-132686757.235^v43^pc_blog_bottom_relevance_base7\&quot;,\&quot;dist_request_id\&quot;:\&quot;1745740675597_35004\&quot;,\&quot;parent_index\&quot;:\&quot;7\&quot;}&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4242.7&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/lhl_blog/article/details/82737731&quot;,&quot;strategy&quot;:&quot;2~default~baidujs_baidulandingword~default&quot;,&quot;ab&quot;:&quot;new&quot;,&quot;index&quot;:&quot;12&quot;}">	                <div class="content-box">		                <div class="content-blog display-flex">			                  <div class="title-box">				                  <a class="tit" href="https://blog.csdn.net/lhl_blog/article/details/82737731" target="_blank" data-report-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;extra&quot;:&quot;{\&quot;utm_medium\&quot;:\&quot;distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-12-82737731-blog-132686757.235^v43^pc_blog_bottom_relevance_base7\&quot;,\&quot;dist_request_id\&quot;:\&quot;1745740675597_35004\&quot;,\&quot;parent_index\&quot;:\&quot;7\&quot;}&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4242.7&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/lhl_blog/article/details/82737731&quot;,&quot;strategy&quot;:&quot;2~default~baidujs_baidulandingword~default&quot;,&quot;ab&quot;:&quot;new&quot;,&quot;index&quot;:&quot;12&quot;}" data-report-query="utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-12-82737731-blog-132686757.235^v43^pc_blog_bottom_relevance_base7&amp;spm=1001.2101.3001.4242.7&amp;utm_relevant_index=15">					                <div class="left ellipsis-online ellipsis-online-1">04-<em>Linux</em>设备树系列-<em>GPIO</em><em>驱动</em>实践_okmx6ul <em>gpio</em></div>				                  </a>			                  </div>                    <div class="info-box display-flex">                      <div class="info display-flex">                        <span class="info-block">4-15</span>                      </div>                    </div>                  </div>                  <div class="desc-box">                    <a href="https://blog.csdn.net/lhl_blog/article/details/82737731" target="_blank" data-report-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;extra&quot;:&quot;{\&quot;utm_medium\&quot;:\&quot;distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-12-82737731-blog-132686757.235^v43^pc_blog_bottom_relevance_base7\&quot;,\&quot;dist_request_id\&quot;:\&quot;1745740675597_35004\&quot;,\&quot;parent_index\&quot;:\&quot;7\&quot;}&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4242.7&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/lhl_blog/article/details/82737731&quot;,&quot;strategy&quot;:&quot;2~default~baidujs_baidulandingword~default&quot;,&quot;ab&quot;:&quot;new&quot;,&quot;index&quot;:&quot;12&quot;}" data-report-query="utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-12-82737731-blog-132686757.235^v43^pc_blog_bottom_relevance_base7&amp;spm=1001.2101.3001.4242.7&amp;utm_relevant_index=15">                      <div class="desc ellipsis-online ellipsis-online-1">2.3 <em>GPIO</em><em>驱动程序</em> 该dmeo基于<em>内核</em>的misc设备开发<em>框架</em>实现,而后通过以platform_driver的形式注册到系统中。platform_driver的数据结构如下: static struct platform_driver <em>gpio</em>_user_driver = { .probe = <em>gpio</em>_user_probe, .remove = <em>gpio</em>_user_remove, </div>                    </a>                  </div>                </div>              </div><div class="recommend-item-box baiduSearch clearfix" data-url="https://blog.csdn.net/s_jason/article/details/73199072" data-type="blog" data-report-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;extra&quot;:&quot;{\&quot;utm_medium\&quot;:\&quot;distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-13-73199072-blog-132686757.235^v43^pc_blog_bottom_relevance_base7\&quot;,\&quot;dist_request_id\&quot;:\&quot;1745740675597_35004\&quot;,\&quot;parent_index\&quot;:\&quot;7\&quot;}&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4242.8&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/s_jason/article/details/73199072&quot;,&quot;strategy&quot;:&quot;2~default~baidujs_baidulandingword~default&quot;,&quot;ab&quot;:&quot;new&quot;,&quot;index&quot;:&quot;13&quot;}">	                <div class="content-box">		                <div class="content-blog display-flex">			                  <div class="title-box">				                  <a class="tit" href="https://blog.csdn.net/s_jason/article/details/73199072" target="_blank" data-report-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;extra&quot;:&quot;{\&quot;utm_medium\&quot;:\&quot;distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-13-73199072-blog-132686757.235^v43^pc_blog_bottom_relevance_base7\&quot;,\&quot;dist_request_id\&quot;:\&quot;1745740675597_35004\&quot;,\&quot;parent_index\&quot;:\&quot;7\&quot;}&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4242.8&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/s_jason/article/details/73199072&quot;,&quot;strategy&quot;:&quot;2~default~baidujs_baidulandingword~default&quot;,&quot;ab&quot;:&quot;new&quot;,&quot;index&quot;:&quot;13&quot;}" data-report-query="utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-13-73199072-blog-132686757.235^v43^pc_blog_bottom_relevance_base7&amp;spm=1001.2101.3001.4242.8&amp;utm_relevant_index=16">					                <div class="left ellipsis-online ellipsis-online-1"><em>GPIO</em>按键<em>驱动</em>解析</div>				                  </a>			                  </div>                    <div class="info-box display-flex">                      <div class="info display-flex">                        <span class="info-block">4-11</span>                      </div>                    </div>                  </div>                  <div class="desc-box">                    <a href="https://blog.csdn.net/s_jason/article/details/73199072" target="_blank" data-report-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;extra&quot;:&quot;{\&quot;utm_medium\&quot;:\&quot;distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-13-73199072-blog-132686757.235^v43^pc_blog_bottom_relevance_base7\&quot;,\&quot;dist_request_id\&quot;:\&quot;1745740675597_35004\&quot;,\&quot;parent_index\&quot;:\&quot;7\&quot;}&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4242.8&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/s_jason/article/details/73199072&quot;,&quot;strategy&quot;:&quot;2~default~baidujs_baidulandingword~default&quot;,&quot;ab&quot;:&quot;new&quot;,&quot;index&quot;:&quot;13&quot;}" data-report-query="utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-13-73199072-blog-132686757.235^v43^pc_blog_bottom_relevance_base7&amp;spm=1001.2101.3001.4242.8&amp;utm_relevant_index=16">                      <div class="desc ellipsis-online ellipsis-online-1"><em>gpio</em>_keys_setup_key:按键相关配置,如中断,时钟等 sysfs_create_group:创建文件节点,可以在/sys/devices/platform/<em>gpio</em>-keys/下面看到。 input_register_device:注册input设备,并进行匹配。 device_init_wakeup:用来设置是否可以唤醒设备 (2) ddata-&gt;key_<em>pinctrl</em> = devm_<em>pinctrl</em>_get(dev); ...</div>                    </a>                  </div>                </div>              </div>
<div class="recommend-item-box type_blog clearfix" data-url="https://stephenzhou.blog.csdn.net/article/details/98082006" data-report-view="{&quot;ab&quot;:&quot;new&quot;,&quot;spm&quot;:&quot;1001.2101.3001.6650.8&quot;,&quot;mod&quot;:&quot;popu_387&quot;,&quot;extra&quot;:&quot;{\&quot;highlightScore\&quot;:0.0,\&quot;utm_medium\&quot;:\&quot;distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-8-98082006-blog-132686757.235^v43^pc_blog_bottom_relevance_base7\&quot;,\&quot;dist_request_id\&quot;:\&quot;1745740675597_35004\&quot;}&quot;,&quot;dist_request_id&quot;:&quot;1745740675597_35004&quot;,&quot;ab_strategy&quot;:&quot;landing_bge_commercial_hanlp&quot;,&quot;index&quot;:&quot;8&quot;,&quot;strategy&quot;:&quot;2~default~BlogCommendFromBaidu~Rate&quot;,&quot;dest&quot;:&quot;https://stephenzhou.blog.csdn.net/article/details/98082006&quot;}">
	<div class="content-box">
		<div class="content-blog display-flex">
			<div class="title-box">
				<a href="https://stephenzhou.blog.csdn.net/article/details/98082006" class="tit" target="_blank" data-report-click="{&quot;ab&quot;:&quot;new&quot;,&quot;spm&quot;:&quot;1001.2101.3001.6650.8&quot;,&quot;mod&quot;:&quot;popu_387&quot;,&quot;extra&quot;:&quot;{\&quot;highlightScore\&quot;:0.0,\&quot;utm_medium\&quot;:\&quot;distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-8-98082006-blog-132686757.235^v43^pc_blog_bottom_relevance_base7\&quot;,\&quot;dist_request_id\&quot;:\&quot;1745740675597_35004\&quot;}&quot;,&quot;dist_request_id&quot;:&quot;1745740675597_35004&quot;,&quot;ab_strategy&quot;:&quot;landing_bge_commercial_hanlp&quot;,&quot;index&quot;:&quot;8&quot;,&quot;strategy&quot;:&quot;2~default~BlogCommendFromBaidu~Rate&quot;,&quot;dest&quot;:&quot;https://stephenzhou.blog.csdn.net/article/details/98082006&quot;}" data-report-query="spm=1001.2101.3001.6650.8&amp;utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-8-98082006-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-8-98082006-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;utm_relevant_index=17">
					<div class="left ellipsis-online ellipsis-online-1"><em>Linux</em> <em>GPIO</em> <em>驱动</em> （<em>gpio</em>lib）</div>
					<div class="tag">热门推荐</div>
				</a>
			</div>
			<div class="info-box display-flex">
				<div class="info">
					<a href="https://blog.csdn.net/zhoutaopower" target="_blank" data-report-query="spm=1001.2101.3001.6650.8&amp;utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-8-98082006-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-8-98082006-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;utm_relevant_index=17"><span class="blog-title">StephenZhou</span></a>
				</div>
				<div class="info display-flex">
					<span class="info-block time">08-04</span>
					<span class="info-block read"><img class="read-img" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/readCountWhite.png" alt="">
					3万+
					</span>
				</div>
			</div>
		</div>
		<div class="desc-box">
			<a href="https://stephenzhou.blog.csdn.net/article/details/98082006" target="_blank" data-report-click="{&quot;ab&quot;:&quot;new&quot;,&quot;spm&quot;:&quot;1001.2101.3001.6650.8&quot;,&quot;mod&quot;:&quot;popu_387&quot;,&quot;extra&quot;:&quot;{\&quot;highlightScore\&quot;:0.0,\&quot;utm_medium\&quot;:\&quot;distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-8-98082006-blog-132686757.235^v43^pc_blog_bottom_relevance_base7\&quot;,\&quot;dist_request_id\&quot;:\&quot;1745740675597_35004\&quot;}&quot;,&quot;dist_request_id&quot;:&quot;1745740675597_35004&quot;,&quot;ab_strategy&quot;:&quot;landing_bge_commercial_hanlp&quot;,&quot;index&quot;:&quot;8&quot;,&quot;strategy&quot;:&quot;2~default~BlogCommendFromBaidu~Rate&quot;,&quot;dest&quot;:&quot;https://stephenzhou.blog.csdn.net/article/details/98082006&quot;}" data-report-query="spm=1001.2101.3001.6650.8&amp;utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-8-98082006-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-8-98082006-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;utm_relevant_index=17">
				<div class="desc ellipsis-online ellipsis-online-1">目录

1、简述

2、<em>Gpio</em>lib 相关数据结构分析

2.1 <em>gpio</em>_chip 结构

2.2 <em>gpio</em>_desc 结构

2.3 <em>gpio</em>_device 结构

3、<em>Gpio</em>lib 对接芯片底层

3.1、注册 <em>GPIO</em> 资源（<em>gpio</em>chip_add）

3.2、<em>gpio</em>chip_add_data_with_key

4、<em>Gpio</em>lib 为其他<em>驱动</em>提供的 APIs

4.1、gp...</div>
			</a>
		</div>
	</div>
</div>
<div class="recommend-item-box type_blog clearfix" data-url="https://blog.csdn.net/qq_28576837/article/details/140910046" data-report-view="{&quot;ab&quot;:&quot;new&quot;,&quot;spm&quot;:&quot;1001.2101.3001.6650.9&quot;,&quot;mod&quot;:&quot;popu_387&quot;,&quot;extra&quot;:&quot;{\&quot;highlightScore\&quot;:0.0,\&quot;utm_medium\&quot;:\&quot;distribute.pc_relevant.none-task-blog-2~default~OPENSEARCH~Rate-9-140910046-blog-132686757.235^v43^pc_blog_bottom_relevance_base7\&quot;,\&quot;dist_request_id\&quot;:\&quot;1745740675597_35004\&quot;}&quot;,&quot;dist_request_id&quot;:&quot;1745740675597_35004&quot;,&quot;ab_strategy&quot;:&quot;landing_bge_commercial_hanlp&quot;,&quot;index&quot;:&quot;9&quot;,&quot;strategy&quot;:&quot;2~default~OPENSEARCH~Rate&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/qq_28576837/article/details/140910046&quot;}">
	<div class="content-box">
		<div class="content-blog display-flex">
			<div class="title-box">
				<a href="https://blog.csdn.net/qq_28576837/article/details/140910046" class="tit" target="_blank" data-report-click="{&quot;ab&quot;:&quot;new&quot;,&quot;spm&quot;:&quot;1001.2101.3001.6650.9&quot;,&quot;mod&quot;:&quot;popu_387&quot;,&quot;extra&quot;:&quot;{\&quot;highlightScore\&quot;:0.0,\&quot;utm_medium\&quot;:\&quot;distribute.pc_relevant.none-task-blog-2~default~OPENSEARCH~Rate-9-140910046-blog-132686757.235^v43^pc_blog_bottom_relevance_base7\&quot;,\&quot;dist_request_id\&quot;:\&quot;1745740675597_35004\&quot;}&quot;,&quot;dist_request_id&quot;:&quot;1745740675597_35004&quot;,&quot;ab_strategy&quot;:&quot;landing_bge_commercial_hanlp&quot;,&quot;index&quot;:&quot;9&quot;,&quot;strategy&quot;:&quot;2~default~OPENSEARCH~Rate&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/qq_28576837/article/details/140910046&quot;}" data-report-query="spm=1001.2101.3001.6650.9&amp;utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EOPENSEARCH%7ERate-9-140910046-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EOPENSEARCH%7ERate-9-140910046-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;utm_relevant_index=18">
					<div class="left ellipsis-online ellipsis-online-1"><em>Linux</em>的<em>pinctrl</em><em>和</em><em>gpio</em><em>子系统</em></div>
				</a>
			</div>
			<div class="info-box display-flex">
				<div class="info">
					<a href="https://blog.csdn.net/qq_28576837" target="_blank" data-report-query="spm=1001.2101.3001.6650.9&amp;utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EOPENSEARCH%7ERate-9-140910046-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EOPENSEARCH%7ERate-9-140910046-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;utm_relevant_index=18"><span class="blog-title">qq_28576837的博客</span></a>
				</div>
				<div class="info display-flex">
					<span class="info-block time">10-13</span>
					<span class="info-block read"><img class="read-img" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/readCountWhite.png" alt="">
					986
					</span>
				</div>
			</div>
		</div>
		<div class="desc-box">
			<a href="https://blog.csdn.net/qq_28576837/article/details/140910046" target="_blank" data-report-click="{&quot;ab&quot;:&quot;new&quot;,&quot;spm&quot;:&quot;1001.2101.3001.6650.9&quot;,&quot;mod&quot;:&quot;popu_387&quot;,&quot;extra&quot;:&quot;{\&quot;highlightScore\&quot;:0.0,\&quot;utm_medium\&quot;:\&quot;distribute.pc_relevant.none-task-blog-2~default~OPENSEARCH~Rate-9-140910046-blog-132686757.235^v43^pc_blog_bottom_relevance_base7\&quot;,\&quot;dist_request_id\&quot;:\&quot;1745740675597_35004\&quot;}&quot;,&quot;dist_request_id&quot;:&quot;1745740675597_35004&quot;,&quot;ab_strategy&quot;:&quot;landing_bge_commercial_hanlp&quot;,&quot;index&quot;:&quot;9&quot;,&quot;strategy&quot;:&quot;2~default~OPENSEARCH~Rate&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/qq_28576837/article/details/140910046&quot;}" data-report-query="spm=1001.2101.3001.6650.9&amp;utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EOPENSEARCH%7ERate-9-140910046-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EOPENSEARCH%7ERate-9-140910046-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;utm_relevant_index=18">
				<div class="desc ellipsis-online ellipsis-online-1">上一章我们编写了基于设备树的 <em>LED</em> <em>驱动</em>，但是<em>驱动</em>的本质还是没变，都是配置 <em>LED</em> 灯所使用的 <em>GPIO</em> 寄存器，<em>驱动</em>开发方式中硬件初始化这一部分<em>和</em>裸机基本没啥区别。<em>Linux</em> 是一个庞大而完善的系统，尤其是<em>驱动</em><em>框架</em>，像 <em>GPIO</em> 这种最基本的<em>驱动</em>不可能采用“原始”的裸机<em>驱动</em>开发方式，否则就相当于你买了一辆车，结果每天推着车去上班。<em>Linux</em> <em>内核</em>提供了 <em>pinctrl</em> <em>和</em> <em>gpio</em> <em>子系统</em>用于<em>GPIO</em> <em>驱动</em>，本章我们就来学习一下如何借助 <em>pinctrl</em> <em>和</em> <em>gpio</em> <em>子系统</em>来简化 <em>GPIO</em> <em>驱动</em>开发。</div>
			</a>
		</div>
	</div>
</div>
<div class="recommend-item-box type_blog clearfix" data-url="https://josephcooper.blog.csdn.net/article/details/124290820" data-report-view="{&quot;ab&quot;:&quot;new&quot;,&quot;spm&quot;:&quot;1001.2101.3001.6650.10&quot;,&quot;mod&quot;:&quot;popu_387&quot;,&quot;extra&quot;:&quot;{\&quot;highlightScore\&quot;:0.0,\&quot;utm_medium\&quot;:\&quot;distribute.pc_relevant.none-task-blog-2~default~OPENSEARCH~Rate-10-124290820-blog-132686757.235^v43^pc_blog_bottom_relevance_base7\&quot;,\&quot;dist_request_id\&quot;:\&quot;1745740675597_35004\&quot;}&quot;,&quot;dist_request_id&quot;:&quot;1745740675597_35004&quot;,&quot;ab_strategy&quot;:&quot;landing_bge_commercial_hanlp&quot;,&quot;index&quot;:&quot;10&quot;,&quot;strategy&quot;:&quot;2~default~OPENSEARCH~Rate&quot;,&quot;dest&quot;:&quot;https://josephcooper.blog.csdn.net/article/details/124290820&quot;}">
	<div class="content-box">
		<div class="content-blog display-flex">
			<div class="title-box">
				<a href="https://josephcooper.blog.csdn.net/article/details/124290820" class="tit" target="_blank" data-report-click="{&quot;ab&quot;:&quot;new&quot;,&quot;spm&quot;:&quot;1001.2101.3001.6650.10&quot;,&quot;mod&quot;:&quot;popu_387&quot;,&quot;extra&quot;:&quot;{\&quot;highlightScore\&quot;:0.0,\&quot;utm_medium\&quot;:\&quot;distribute.pc_relevant.none-task-blog-2~default~OPENSEARCH~Rate-10-124290820-blog-132686757.235^v43^pc_blog_bottom_relevance_base7\&quot;,\&quot;dist_request_id\&quot;:\&quot;1745740675597_35004\&quot;}&quot;,&quot;dist_request_id&quot;:&quot;1745740675597_35004&quot;,&quot;ab_strategy&quot;:&quot;landing_bge_commercial_hanlp&quot;,&quot;index&quot;:&quot;10&quot;,&quot;strategy&quot;:&quot;2~default~OPENSEARCH~Rate&quot;,&quot;dest&quot;:&quot;https://josephcooper.blog.csdn.net/article/details/124290820&quot;}" data-report-query="spm=1001.2101.3001.6650.10&amp;utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EOPENSEARCH%7ERate-10-124290820-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EOPENSEARCH%7ERate-10-124290820-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;utm_relevant_index=19">
					<div class="left ellipsis-online ellipsis-online-1">【嵌入式<em>Linux</em>】嵌入式<em>Linux</em><em>驱动</em>开发基础知识之<em>Pinctrl</em><em>子系统</em><em>和</em><em>GPIO</em><em>子系统</em>的使用</div>
				</a>
			</div>
			<div class="info-box display-flex">
				<div class="info">
					<a href="https://blog.csdn.net/weixin_43444989" target="_blank" data-report-query="spm=1001.2101.3001.6650.10&amp;utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EOPENSEARCH%7ERate-10-124290820-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EOPENSEARCH%7ERate-10-124290820-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;utm_relevant_index=19"><span class="blog-title">永远年轻 永远热泪盈眶</span></a>
				</div>
				<div class="info display-flex">
					<span class="info-block time">04-21</span>
					<span class="info-block read"><img class="read-img" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/readCountWhite.png" alt="">
					1097
					</span>
				</div>
			</div>
		</div>
		<div class="desc-box">
			<a href="https://josephcooper.blog.csdn.net/article/details/124290820" target="_blank" data-report-click="{&quot;ab&quot;:&quot;new&quot;,&quot;spm&quot;:&quot;1001.2101.3001.6650.10&quot;,&quot;mod&quot;:&quot;popu_387&quot;,&quot;extra&quot;:&quot;{\&quot;highlightScore\&quot;:0.0,\&quot;utm_medium\&quot;:\&quot;distribute.pc_relevant.none-task-blog-2~default~OPENSEARCH~Rate-10-124290820-blog-132686757.235^v43^pc_blog_bottom_relevance_base7\&quot;,\&quot;dist_request_id\&quot;:\&quot;1745740675597_35004\&quot;}&quot;,&quot;dist_request_id&quot;:&quot;1745740675597_35004&quot;,&quot;ab_strategy&quot;:&quot;landing_bge_commercial_hanlp&quot;,&quot;index&quot;:&quot;10&quot;,&quot;strategy&quot;:&quot;2~default~OPENSEARCH~Rate&quot;,&quot;dest&quot;:&quot;https://josephcooper.blog.csdn.net/article/details/124290820&quot;}" data-report-query="spm=1001.2101.3001.6650.10&amp;utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EOPENSEARCH%7ERate-10-124290820-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EOPENSEARCH%7ERate-10-124290820-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;utm_relevant_index=19">
				<div class="desc ellipsis-online ellipsis-online-1">【嵌入式<em>Linux</em>】嵌入式<em>Linux</em><em>驱动</em>开发基础知识之<em>Pinctrl</em><em>子系统</em><em>和</em><em>GPIO</em><em>子系统</em>的使用
上一章中介绍了设备树模型，可以帮助开发者省去在<em>内核</em>中指定资源的步骤，本章介绍<em>Pinctrl</em><em>子系统</em><em>和</em><em>GPIO</em><em>子系统</em>，使用这两个<em>子系统</em>可帮助让<em>驱动</em>开发者不再需要操作繁琐的<em>GPIO</em>寄存器</div>
			</a>
		</div>
	</div>
</div>
<div class="recommend-item-box type_blog clearfix" data-url="https://blog.csdn.net/d0203/article/details/140859280" data-report-view="{&quot;ab&quot;:&quot;new&quot;,&quot;spm&quot;:&quot;1001.2101.3001.6650.11&quot;,&quot;mod&quot;:&quot;popu_387&quot;,&quot;extra&quot;:&quot;{\&quot;highlightScore\&quot;:0.0,\&quot;utm_medium\&quot;:\&quot;distribute.pc_relevant.none-task-blog-2~default~OPENSEARCH~Rate-11-140859280-blog-132686757.235^v43^pc_blog_bottom_relevance_base7\&quot;,\&quot;dist_request_id\&quot;:\&quot;1745740675597_35004\&quot;}&quot;,&quot;dist_request_id&quot;:&quot;1745740675597_35004&quot;,&quot;ab_strategy&quot;:&quot;landing_bge_commercial_hanlp&quot;,&quot;index&quot;:&quot;11&quot;,&quot;strategy&quot;:&quot;2~default~OPENSEARCH~Rate&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/d0203/article/details/140859280&quot;}">
	<div class="content-box">
		<div class="content-blog display-flex">
			<div class="title-box">
				<a href="https://blog.csdn.net/d0203/article/details/140859280" class="tit" target="_blank" data-report-click="{&quot;ab&quot;:&quot;new&quot;,&quot;spm&quot;:&quot;1001.2101.3001.6650.11&quot;,&quot;mod&quot;:&quot;popu_387&quot;,&quot;extra&quot;:&quot;{\&quot;highlightScore\&quot;:0.0,\&quot;utm_medium\&quot;:\&quot;distribute.pc_relevant.none-task-blog-2~default~OPENSEARCH~Rate-11-140859280-blog-132686757.235^v43^pc_blog_bottom_relevance_base7\&quot;,\&quot;dist_request_id\&quot;:\&quot;1745740675597_35004\&quot;}&quot;,&quot;dist_request_id&quot;:&quot;1745740675597_35004&quot;,&quot;ab_strategy&quot;:&quot;landing_bge_commercial_hanlp&quot;,&quot;index&quot;:&quot;11&quot;,&quot;strategy&quot;:&quot;2~default~OPENSEARCH~Rate&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/d0203/article/details/140859280&quot;}" data-report-query="spm=1001.2101.3001.6650.11&amp;utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EOPENSEARCH%7ERate-11-140859280-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EOPENSEARCH%7ERate-11-140859280-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;utm_relevant_index=20">
					<div class="left ellipsis-online ellipsis-online-1">基于 <em>GPIO</em> <em>子系统</em>的 <em>LED</em> <em>驱动程序</em></div>
				</a>
			</div>
			<div class="info-box display-flex">
				<div class="info">
					<a href="https://blog.csdn.net/d0203" target="_blank" data-report-query="spm=1001.2101.3001.6650.11&amp;utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EOPENSEARCH%7ERate-11-140859280-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EOPENSEARCH%7ERate-11-140859280-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;utm_relevant_index=20"><span class="blog-title">d0203的博客</span></a>
				</div>
				<div class="info display-flex">
					<span class="info-block time">08-01</span>
					<span class="info-block read"><img class="read-img" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/readCountWhite.png" alt="">
					482
					</span>
				</div>
			</div>
		</div>
		<div class="desc-box">
			<a href="https://blog.csdn.net/d0203/article/details/140859280" target="_blank" data-report-click="{&quot;ab&quot;:&quot;new&quot;,&quot;spm&quot;:&quot;1001.2101.3001.6650.11&quot;,&quot;mod&quot;:&quot;popu_387&quot;,&quot;extra&quot;:&quot;{\&quot;highlightScore\&quot;:0.0,\&quot;utm_medium\&quot;:\&quot;distribute.pc_relevant.none-task-blog-2~default~OPENSEARCH~Rate-11-140859280-blog-132686757.235^v43^pc_blog_bottom_relevance_base7\&quot;,\&quot;dist_request_id\&quot;:\&quot;1745740675597_35004\&quot;}&quot;,&quot;dist_request_id&quot;:&quot;1745740675597_35004&quot;,&quot;ab_strategy&quot;:&quot;landing_bge_commercial_hanlp&quot;,&quot;index&quot;:&quot;11&quot;,&quot;strategy&quot;:&quot;2~default~OPENSEARCH~Rate&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/d0203/article/details/140859280&quot;}" data-report-query="spm=1001.2101.3001.6650.11&amp;utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EOPENSEARCH%7ERate-11-140859280-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EOPENSEARCH%7ERate-11-140859280-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;utm_relevant_index=20">
				<div class="desc ellipsis-online ellipsis-online-1">的地位跟其他模块，比如 I2C、 UART 的地方是一样的，要使用某个引脚，需要先把引脚配置为 <em>GPIO</em> 功能，这要使用 <em>Pinctrl</em> <em>子系统</em>，只需要在设备树里指定就可以。下面，保存该厂家的文档，如果连文档都没有，那只能参考<em>内核</em>源码中的设备树文件，在<em>内核</em>源码目录。有些芯片提供了设备树生成工具，在GUI 界面中选择引脚功能<em>和</em>配置信息，就可以自动生成。本身需要确定引脚，这也需要在设备树里指定。核心<em>代码</em>是如下，它从该设备(对应设备树中的设备节点)获取名为。，对应的，<em>驱动</em><em>代码</em>中要注册一个。</div>
			</a>
		</div>
	</div>
</div>
<div class="recommend-item-box type_blog clearfix" data-url="https://blog.csdn.net/DRAXY/article/details/126171218" data-report-view="{&quot;ab&quot;:&quot;new&quot;,&quot;spm&quot;:&quot;1001.2101.3001.6650.12&quot;,&quot;mod&quot;:&quot;popu_387&quot;,&quot;extra&quot;:&quot;{\&quot;highlightScore\&quot;:0.0,\&quot;utm_medium\&quot;:\&quot;distribute.pc_relevant.none-task-blog-2~default~OPENSEARCH~Rate-12-126171218-blog-132686757.235^v43^pc_blog_bottom_relevance_base7\&quot;,\&quot;dist_request_id\&quot;:\&quot;1745740675597_35004\&quot;}&quot;,&quot;dist_request_id&quot;:&quot;1745740675597_35004&quot;,&quot;ab_strategy&quot;:&quot;landing_bge_commercial_hanlp&quot;,&quot;index&quot;:&quot;12&quot;,&quot;strategy&quot;:&quot;2~default~OPENSEARCH~Rate&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/DRAXY/article/details/126171218&quot;}">
	<div class="content-box">
		<div class="content-blog display-flex">
			<div class="title-box">
				<a href="https://blog.csdn.net/DRAXY/article/details/126171218" class="tit" target="_blank" data-report-click="{&quot;ab&quot;:&quot;new&quot;,&quot;spm&quot;:&quot;1001.2101.3001.6650.12&quot;,&quot;mod&quot;:&quot;popu_387&quot;,&quot;extra&quot;:&quot;{\&quot;highlightScore\&quot;:0.0,\&quot;utm_medium\&quot;:\&quot;distribute.pc_relevant.none-task-blog-2~default~OPENSEARCH~Rate-12-126171218-blog-132686757.235^v43^pc_blog_bottom_relevance_base7\&quot;,\&quot;dist_request_id\&quot;:\&quot;1745740675597_35004\&quot;}&quot;,&quot;dist_request_id&quot;:&quot;1745740675597_35004&quot;,&quot;ab_strategy&quot;:&quot;landing_bge_commercial_hanlp&quot;,&quot;index&quot;:&quot;12&quot;,&quot;strategy&quot;:&quot;2~default~OPENSEARCH~Rate&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/DRAXY/article/details/126171218&quot;}" data-report-query="spm=1001.2101.3001.6650.12&amp;utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EOPENSEARCH%7ERate-12-126171218-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EOPENSEARCH%7ERate-12-126171218-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;utm_relevant_index=21">
					<div class="left ellipsis-online ellipsis-online-1"><em>pinctrl</em> <em>和</em> <em>gpio</em> <em>子系统</em>，设备树下<em>LED</em><em>驱动</em></div>
				</a>
			</div>
			<div class="info-box display-flex">
				<div class="info">
					<a href="https://blog.csdn.net/DRAXY" target="_blank" data-report-query="spm=1001.2101.3001.6650.12&amp;utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EOPENSEARCH%7ERate-12-126171218-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EOPENSEARCH%7ERate-12-126171218-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;utm_relevant_index=21"><span class="blog-title">DRAXY的博客</span></a>
				</div>
				<div class="info display-flex">
					<span class="info-block time">08-05</span>
					<span class="info-block read"><img class="read-img" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/readCountWhite.png" alt="">
					1684
					</span>
				</div>
			</div>
		</div>
		<div class="desc-box">
			<a href="https://blog.csdn.net/DRAXY/article/details/126171218" target="_blank" data-report-click="{&quot;ab&quot;:&quot;new&quot;,&quot;spm&quot;:&quot;1001.2101.3001.6650.12&quot;,&quot;mod&quot;:&quot;popu_387&quot;,&quot;extra&quot;:&quot;{\&quot;highlightScore\&quot;:0.0,\&quot;utm_medium\&quot;:\&quot;distribute.pc_relevant.none-task-blog-2~default~OPENSEARCH~Rate-12-126171218-blog-132686757.235^v43^pc_blog_bottom_relevance_base7\&quot;,\&quot;dist_request_id\&quot;:\&quot;1745740675597_35004\&quot;}&quot;,&quot;dist_request_id&quot;:&quot;1745740675597_35004&quot;,&quot;ab_strategy&quot;:&quot;landing_bge_commercial_hanlp&quot;,&quot;index&quot;:&quot;12&quot;,&quot;strategy&quot;:&quot;2~default~OPENSEARCH~Rate&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/DRAXY/article/details/126171218&quot;}" data-report-query="spm=1001.2101.3001.6650.12&amp;utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EOPENSEARCH%7ERate-12-126171218-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EOPENSEARCH%7ERate-12-126171218-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;utm_relevant_index=21">
				<div class="desc ellipsis-online ellipsis-online-1"><em>pinctrl</em> <em>和</em> <em>gpio</em> <em>子系统</em>，设备树下<em>LED</em><em>驱动</em></div>
			</a>
		</div>
	</div>
</div>
<div class="recommend-item-box type_blog clearfix" data-url="https://devpress.csdn.net/v1/article/detail/50589214" data-report-view="{&quot;ab&quot;:&quot;new&quot;,&quot;spm&quot;:&quot;1001.2101.3001.6650.13&quot;,&quot;mod&quot;:&quot;popu_387&quot;,&quot;extra&quot;:&quot;{\&quot;highlightScore\&quot;:0.0,\&quot;utm_medium\&quot;:\&quot;distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~activity-13-50589214-blog-132686757.235^v43^pc_blog_bottom_relevance_base7\&quot;,\&quot;dist_request_id\&quot;:\&quot;1745740675597_35004\&quot;}&quot;,&quot;dist_request_id&quot;:&quot;1745740675597_35004&quot;,&quot;ab_strategy&quot;:&quot;landing_bge_commercial_hanlp&quot;,&quot;index&quot;:&quot;13&quot;,&quot;strategy&quot;:&quot;2~default~BlogCommendFromBaidu~activity&quot;,&quot;dest&quot;:&quot;https://devpress.csdn.net/v1/article/detail/50589214&quot;}">
	<div class="content-box">
		<div class="content-blog display-flex">
			<div class="title-box">
				<a href="https://devpress.csdn.net/v1/article/detail/50589214" class="tit" target="_blank" data-report-click="{&quot;ab&quot;:&quot;new&quot;,&quot;spm&quot;:&quot;1001.2101.3001.6650.13&quot;,&quot;mod&quot;:&quot;popu_387&quot;,&quot;extra&quot;:&quot;{\&quot;highlightScore\&quot;:0.0,\&quot;utm_medium\&quot;:\&quot;distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~activity-13-50589214-blog-132686757.235^v43^pc_blog_bottom_relevance_base7\&quot;,\&quot;dist_request_id\&quot;:\&quot;1745740675597_35004\&quot;}&quot;,&quot;dist_request_id&quot;:&quot;1745740675597_35004&quot;,&quot;ab_strategy&quot;:&quot;landing_bge_commercial_hanlp&quot;,&quot;index&quot;:&quot;13&quot;,&quot;strategy&quot;:&quot;2~default~BlogCommendFromBaidu~activity&quot;,&quot;dest&quot;:&quot;https://devpress.csdn.net/v1/article/detail/50589214&quot;}" data-report-query="spm=1001.2101.3001.6650.13&amp;utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Eactivity-13-50589214-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Eactivity-13-50589214-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;utm_relevant_index=22">
					<div class="left ellipsis-online ellipsis-online-1"><em>linux</em><em>驱动</em>开发（一）—<em>GPIO</em><em>驱动</em><em>框架</em></div>
				</a>
			</div>
			<div class="info-box display-flex">
				<div class="info">
					<a href="https://blog.csdn.net/zengxianyang" target="_blank" data-report-query="spm=1001.2101.3001.6650.13&amp;utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Eactivity-13-50589214-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Eactivity-13-50589214-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;utm_relevant_index=22"><span class="blog-title">yang blog</span></a>
				</div>
				<div class="info display-flex">
					<span class="info-block time">01-26</span>
					<span class="info-block read"><img class="read-img" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/readCountWhite.png" alt="">
					2万+
					</span>
				</div>
			</div>
		</div>
		<div class="desc-box">
			<a href="https://devpress.csdn.net/v1/article/detail/50589214" target="_blank" data-report-click="{&quot;ab&quot;:&quot;new&quot;,&quot;spm&quot;:&quot;1001.2101.3001.6650.13&quot;,&quot;mod&quot;:&quot;popu_387&quot;,&quot;extra&quot;:&quot;{\&quot;highlightScore\&quot;:0.0,\&quot;utm_medium\&quot;:\&quot;distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~activity-13-50589214-blog-132686757.235^v43^pc_blog_bottom_relevance_base7\&quot;,\&quot;dist_request_id\&quot;:\&quot;1745740675597_35004\&quot;}&quot;,&quot;dist_request_id&quot;:&quot;1745740675597_35004&quot;,&quot;ab_strategy&quot;:&quot;landing_bge_commercial_hanlp&quot;,&quot;index&quot;:&quot;13&quot;,&quot;strategy&quot;:&quot;2~default~BlogCommendFromBaidu~activity&quot;,&quot;dest&quot;:&quot;https://devpress.csdn.net/v1/article/detail/50589214&quot;}" data-report-query="spm=1001.2101.3001.6650.13&amp;utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Eactivity-13-50589214-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Eactivity-13-50589214-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;utm_relevant_index=22">
				<div class="desc ellipsis-online ellipsis-online-1">前言
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <em>GPIO</em><em>驱动</em>是<em>Linux</em><em>驱动</em>开发中最基础、但却是很常用、很重要的<em>驱动</em>。比如你要点亮一个<em>LED</em>灯、键盘扫描、输出高低电平等等。而<em>Linux</em><em>内核</em>的强大之处在于对最底层的<em>GPIO</em>硬件操作层的基础上封装了一些统一的<em>GPIO</em>操作接口，也就是所谓的<em>GPIO</em><em>驱动</em><em>框架</em>。这样开发人员可以调用这些接口去操作设备的IO口，不需要担心硬件平台的不同导致IO口的不同。
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 今天，我</div>
			</a>
		</div>
	</div>
</div>
<div class="recommend-item-box type_blog clearfix" data-url="https://blog.csdn.net/qq_40514606/article/details/138971966" data-report-view="{&quot;ab&quot;:&quot;new&quot;,&quot;spm&quot;:&quot;1001.2101.3001.6650.14&quot;,&quot;mod&quot;:&quot;popu_387&quot;,&quot;extra&quot;:&quot;{\&quot;highlightScore\&quot;:0.0,\&quot;utm_medium\&quot;:\&quot;distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-14-138971966-blog-132686757.235^v43^pc_blog_bottom_relevance_base7\&quot;,\&quot;dist_request_id\&quot;:\&quot;1745740675597_35004\&quot;}&quot;,&quot;dist_request_id&quot;:&quot;1745740675597_35004&quot;,&quot;ab_strategy&quot;:&quot;landing_bge_commercial_hanlp&quot;,&quot;index&quot;:&quot;14&quot;,&quot;strategy&quot;:&quot;2~default~BlogCommendFromBaidu~Rate&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/qq_40514606/article/details/138971966&quot;}">
	<div class="content-box">
		<div class="content-blog display-flex">
			<div class="title-box">
				<a href="https://blog.csdn.net/qq_40514606/article/details/138971966" class="tit" target="_blank" data-report-click="{&quot;ab&quot;:&quot;new&quot;,&quot;spm&quot;:&quot;1001.2101.3001.6650.14&quot;,&quot;mod&quot;:&quot;popu_387&quot;,&quot;extra&quot;:&quot;{\&quot;highlightScore\&quot;:0.0,\&quot;utm_medium\&quot;:\&quot;distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-14-138971966-blog-132686757.235^v43^pc_blog_bottom_relevance_base7\&quot;,\&quot;dist_request_id\&quot;:\&quot;1745740675597_35004\&quot;}&quot;,&quot;dist_request_id&quot;:&quot;1745740675597_35004&quot;,&quot;ab_strategy&quot;:&quot;landing_bge_commercial_hanlp&quot;,&quot;index&quot;:&quot;14&quot;,&quot;strategy&quot;:&quot;2~default~BlogCommendFromBaidu~Rate&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/qq_40514606/article/details/138971966&quot;}" data-report-query="spm=1001.2101.3001.6650.14&amp;utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-14-138971966-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-14-138971966-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;utm_relevant_index=23">
					<div class="left ellipsis-online ellipsis-online-1"><em>Linux</em>中编写<em>GPIO</em><em>驱动</em></div>
				</a>
			</div>
			<div class="info-box display-flex">
				<div class="info">
					<a href="https://blog.csdn.net/qq_40514606" target="_blank" data-report-query="spm=1001.2101.3001.6650.14&amp;utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-14-138971966-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-14-138971966-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;utm_relevant_index=23"><span class="blog-title">qq_40514606的博客</span></a>
				</div>
				<div class="info display-flex">
					<span class="info-block time">05-16</span>
					<span class="info-block read"><img class="read-img" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/readCountWhite.png" alt="">
					1958
					</span>
				</div>
			</div>
		</div>
		<div class="desc-box">
			<a href="https://blog.csdn.net/qq_40514606/article/details/138971966" target="_blank" data-report-click="{&quot;ab&quot;:&quot;new&quot;,&quot;spm&quot;:&quot;1001.2101.3001.6650.14&quot;,&quot;mod&quot;:&quot;popu_387&quot;,&quot;extra&quot;:&quot;{\&quot;highlightScore\&quot;:0.0,\&quot;utm_medium\&quot;:\&quot;distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-14-138971966-blog-132686757.235^v43^pc_blog_bottom_relevance_base7\&quot;,\&quot;dist_request_id\&quot;:\&quot;1745740675597_35004\&quot;}&quot;,&quot;dist_request_id&quot;:&quot;1745740675597_35004&quot;,&quot;ab_strategy&quot;:&quot;landing_bge_commercial_hanlp&quot;,&quot;index&quot;:&quot;14&quot;,&quot;strategy&quot;:&quot;2~default~BlogCommendFromBaidu~Rate&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/qq_40514606/article/details/138971966&quot;}" data-report-query="spm=1001.2101.3001.6650.14&amp;utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-14-138971966-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-14-138971966-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;utm_relevant_index=23">
				<div class="desc ellipsis-online ellipsis-online-1"><em>GPIO</em>是嵌入式开发中常用的一个模块，<em>Linux</em>下的任何外设<em>驱动</em>，最终目的都是要配置相应的硬件寄存器。在<em>Linux</em>中，不管是<em>内核</em>空间<em>代码</em>，还是用户空间<em>代码</em>，访问的都是虚拟地址。以上就是今天要讲的内容，本文简单介绍了<em>内核</em>中对<em>GPIO</em>的使用，制作不易，多多包涵。</div>
			</a>
		</div>
	</div>
</div>
<div class="recommend-item-box type_blog clearfix" data-url="https://blog.csdn.net/lqx4_3/article/details/6632419" data-report-view="{&quot;ab&quot;:&quot;new&quot;,&quot;spm&quot;:&quot;1001.2101.3001.6650.15&quot;,&quot;mod&quot;:&quot;popu_387&quot;,&quot;extra&quot;:&quot;{\&quot;highlightScore\&quot;:0.0,\&quot;utm_medium\&quot;:\&quot;distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-15-6632419-blog-132686757.235^v43^pc_blog_bottom_relevance_base7\&quot;,\&quot;dist_request_id\&quot;:\&quot;1745740675597_35004\&quot;}&quot;,&quot;dist_request_id&quot;:&quot;1745740675597_35004&quot;,&quot;ab_strategy&quot;:&quot;landing_bge_commercial_hanlp&quot;,&quot;index&quot;:&quot;15&quot;,&quot;strategy&quot;:&quot;2~default~BlogCommendFromBaidu~Rate&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/lqx4_3/article/details/6632419&quot;}">
	<div class="content-box">
		<div class="content-blog display-flex">
			<div class="title-box">
				<a href="https://blog.csdn.net/lqx4_3/article/details/6632419" class="tit" target="_blank" data-report-click="{&quot;ab&quot;:&quot;new&quot;,&quot;spm&quot;:&quot;1001.2101.3001.6650.15&quot;,&quot;mod&quot;:&quot;popu_387&quot;,&quot;extra&quot;:&quot;{\&quot;highlightScore\&quot;:0.0,\&quot;utm_medium\&quot;:\&quot;distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-15-6632419-blog-132686757.235^v43^pc_blog_bottom_relevance_base7\&quot;,\&quot;dist_request_id\&quot;:\&quot;1745740675597_35004\&quot;}&quot;,&quot;dist_request_id&quot;:&quot;1745740675597_35004&quot;,&quot;ab_strategy&quot;:&quot;landing_bge_commercial_hanlp&quot;,&quot;index&quot;:&quot;15&quot;,&quot;strategy&quot;:&quot;2~default~BlogCommendFromBaidu~Rate&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/lqx4_3/article/details/6632419&quot;}" data-report-query="spm=1001.2101.3001.6650.15&amp;utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-15-6632419-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-15-6632419-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;utm_relevant_index=24">
					<div class="left ellipsis-online ellipsis-online-1"><em>Linux</em> <em>GPIO</em><em>驱动</em></div>
				</a>
			</div>
			<div class="info-box display-flex">
				<div class="info">
					<a href="https://blog.csdn.net/lqx4_3" target="_blank" data-report-query="spm=1001.2101.3001.6650.15&amp;utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-15-6632419-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-15-6632419-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;utm_relevant_index=24"><span class="blog-title">专注嵌入式 -- 分享、进步</span></a>
				</div>
				<div class="info display-flex">
					<span class="info-block time">07-25</span>
					<span class="info-block read"><img class="read-img" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/readCountWhite.png" alt="">
					2652
					</span>
				</div>
			</div>
		</div>
		<div class="desc-box">
			<a href="https://blog.csdn.net/lqx4_3/article/details/6632419" target="_blank" data-report-click="{&quot;ab&quot;:&quot;new&quot;,&quot;spm&quot;:&quot;1001.2101.3001.6650.15&quot;,&quot;mod&quot;:&quot;popu_387&quot;,&quot;extra&quot;:&quot;{\&quot;highlightScore\&quot;:0.0,\&quot;utm_medium\&quot;:\&quot;distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-15-6632419-blog-132686757.235^v43^pc_blog_bottom_relevance_base7\&quot;,\&quot;dist_request_id\&quot;:\&quot;1745740675597_35004\&quot;}&quot;,&quot;dist_request_id&quot;:&quot;1745740675597_35004&quot;,&quot;ab_strategy&quot;:&quot;landing_bge_commercial_hanlp&quot;,&quot;index&quot;:&quot;15&quot;,&quot;strategy&quot;:&quot;2~default~BlogCommendFromBaidu~Rate&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/lqx4_3/article/details/6632419&quot;}" data-report-query="spm=1001.2101.3001.6650.15&amp;utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-15-6632419-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-15-6632419-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;utm_relevant_index=24">
				<div class="desc ellipsis-online ellipsis-online-1">&lt;!--
		@page { margin: 2cm }
		P { margin-bottom: 0.21cm }
	--&gt;
	<em>GPIO</em>的<em>驱动</em>主要就是读取<em>GPIO</em>口的状态，或者设置<em>GPIO</em>口的状态。就是这么简单，但是为了能够写好的这个<em>驱动</em>，在<em>LINUX</em>上作了一些软件上的分层。为</div>
			</a>
		</div>
	</div>
</div>
<div class="recommend-item-box type_blog clearfix" data-url="https://devpress.csdn.net/v1/article/detail/7373075" data-report-view="{&quot;ab&quot;:&quot;new&quot;,&quot;spm&quot;:&quot;1001.2101.3001.6650.16&quot;,&quot;mod&quot;:&quot;popu_387&quot;,&quot;extra&quot;:&quot;{\&quot;highlightScore\&quot;:0.0,\&quot;utm_medium\&quot;:\&quot;distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~activity-16-7373075-blog-132686757.235^v43^pc_blog_bottom_relevance_base7\&quot;,\&quot;dist_request_id\&quot;:\&quot;1745740675597_35004\&quot;}&quot;,&quot;dist_request_id&quot;:&quot;1745740675597_35004&quot;,&quot;ab_strategy&quot;:&quot;landing_bge_commercial_hanlp&quot;,&quot;index&quot;:&quot;16&quot;,&quot;strategy&quot;:&quot;2~default~BlogCommendFromBaidu~activity&quot;,&quot;dest&quot;:&quot;https://devpress.csdn.net/v1/article/detail/7373075&quot;}">
	<div class="content-box">
		<div class="content-blog display-flex">
			<div class="title-box">
				<a href="https://devpress.csdn.net/v1/article/detail/7373075" class="tit" target="_blank" data-report-click="{&quot;ab&quot;:&quot;new&quot;,&quot;spm&quot;:&quot;1001.2101.3001.6650.16&quot;,&quot;mod&quot;:&quot;popu_387&quot;,&quot;extra&quot;:&quot;{\&quot;highlightScore\&quot;:0.0,\&quot;utm_medium\&quot;:\&quot;distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~activity-16-7373075-blog-132686757.235^v43^pc_blog_bottom_relevance_base7\&quot;,\&quot;dist_request_id\&quot;:\&quot;1745740675597_35004\&quot;}&quot;,&quot;dist_request_id&quot;:&quot;1745740675597_35004&quot;,&quot;ab_strategy&quot;:&quot;landing_bge_commercial_hanlp&quot;,&quot;index&quot;:&quot;16&quot;,&quot;strategy&quot;:&quot;2~default~BlogCommendFromBaidu~activity&quot;,&quot;dest&quot;:&quot;https://devpress.csdn.net/v1/article/detail/7373075&quot;}" data-report-query="spm=1001.2101.3001.6650.16&amp;utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Eactivity-16-7373075-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Eactivity-16-7373075-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;utm_relevant_index=25">
					<div class="left ellipsis-online ellipsis-online-1"><em>linux</em>之<em>GPIO</em>的使用------OK6410</div>
				</a>
			</div>
			<div class="info-box display-flex">
				<div class="info">
					<a href="https://blog.csdn.net/laoylhuli" target="_blank" data-report-query="spm=1001.2101.3001.6650.16&amp;utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Eactivity-16-7373075-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Eactivity-16-7373075-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;utm_relevant_index=25"><span class="blog-title">laoylhuli</span></a>
				</div>
				<div class="info display-flex">
					<span class="info-block time">03-20</span>
					<span class="info-block read"><img class="read-img" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/readCountWhite.png" alt="">
					8782
					</span>
				</div>
			</div>
		</div>
		<div class="desc-box">
			<a href="https://devpress.csdn.net/v1/article/detail/7373075" target="_blank" data-report-click="{&quot;ab&quot;:&quot;new&quot;,&quot;spm&quot;:&quot;1001.2101.3001.6650.16&quot;,&quot;mod&quot;:&quot;popu_387&quot;,&quot;extra&quot;:&quot;{\&quot;highlightScore\&quot;:0.0,\&quot;utm_medium\&quot;:\&quot;distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~activity-16-7373075-blog-132686757.235^v43^pc_blog_bottom_relevance_base7\&quot;,\&quot;dist_request_id\&quot;:\&quot;1745740675597_35004\&quot;}&quot;,&quot;dist_request_id&quot;:&quot;1745740675597_35004&quot;,&quot;ab_strategy&quot;:&quot;landing_bge_commercial_hanlp&quot;,&quot;index&quot;:&quot;16&quot;,&quot;strategy&quot;:&quot;2~default~BlogCommendFromBaidu~activity&quot;,&quot;dest&quot;:&quot;https://devpress.csdn.net/v1/article/detail/7373075&quot;}" data-report-query="spm=1001.2101.3001.6650.16&amp;utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Eactivity-16-7373075-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Eactivity-16-7373075-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;utm_relevant_index=25">
				<div class="desc ellipsis-online ellipsis-online-1">S3C6410的<em>GPIO</em>引脚相对来说比较多，而且大部分引脚都具有多重复用功能，如何在<em>linux</em>上用最简单的方式来控制<em>GPIO</em>这需要我们好好研究一下底层的<em>代码</em>了，其实方法有很多种，鉴于在操作系统端控制<em>GPIO</em>并不像控制传统的单片机那样。
这里我将提及一种方法来讲述，这种方法也是我至今看到最简单的方法
首先我们打开<em>linux</em>-3.0.1\arch\arm\plat-samsung\include\</div>
			</a>
		</div>
	</div>
</div>
<div class="recommend-item-box type_blog clearfix" data-url="https://blog.csdn.net/u014583317/article/details/109623671" data-report-view="{&quot;ab&quot;:&quot;new&quot;,&quot;spm&quot;:&quot;1001.2101.3001.6650.17&quot;,&quot;mod&quot;:&quot;popu_387&quot;,&quot;extra&quot;:&quot;{\&quot;highlightScore\&quot;:0.0,\&quot;utm_medium\&quot;:\&quot;distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-17-109623671-blog-132686757.235^v43^pc_blog_bottom_relevance_base7\&quot;,\&quot;dist_request_id\&quot;:\&quot;1745740675597_35004\&quot;}&quot;,&quot;dist_request_id&quot;:&quot;1745740675597_35004&quot;,&quot;ab_strategy&quot;:&quot;landing_bge_commercial_hanlp&quot;,&quot;index&quot;:&quot;17&quot;,&quot;strategy&quot;:&quot;2~default~BlogCommendFromBaidu~Rate&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u014583317/article/details/109623671&quot;}">
	<div class="content-box">
		<div class="content-blog display-flex">
			<div class="title-box">
				<a href="https://blog.csdn.net/u014583317/article/details/109623671" class="tit" target="_blank" data-report-click="{&quot;ab&quot;:&quot;new&quot;,&quot;spm&quot;:&quot;1001.2101.3001.6650.17&quot;,&quot;mod&quot;:&quot;popu_387&quot;,&quot;extra&quot;:&quot;{\&quot;highlightScore\&quot;:0.0,\&quot;utm_medium\&quot;:\&quot;distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-17-109623671-blog-132686757.235^v43^pc_blog_bottom_relevance_base7\&quot;,\&quot;dist_request_id\&quot;:\&quot;1745740675597_35004\&quot;}&quot;,&quot;dist_request_id&quot;:&quot;1745740675597_35004&quot;,&quot;ab_strategy&quot;:&quot;landing_bge_commercial_hanlp&quot;,&quot;index&quot;:&quot;17&quot;,&quot;strategy&quot;:&quot;2~default~BlogCommendFromBaidu~Rate&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u014583317/article/details/109623671&quot;}" data-report-query="spm=1001.2101.3001.6650.17&amp;utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-17-109623671-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-17-109623671-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;utm_relevant_index=26">
					<div class="left ellipsis-online ellipsis-online-1"><em>linux</em> - <em>驱动</em>开发 之 <em>GPIO</em><em>驱动</em><em>框架</em></div>
				</a>
			</div>
			<div class="info-box display-flex">
				<div class="info">
					<a href="https://blog.csdn.net/u014583317" target="_blank" data-report-query="spm=1001.2101.3001.6650.17&amp;utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-17-109623671-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-17-109623671-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;utm_relevant_index=26"><span class="blog-title">u014583317的博客</span></a>
				</div>
				<div class="info display-flex">
					<span class="info-block time">11-11</span>
					<span class="info-block read"><img class="read-img" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/readCountWhite.png" alt="">
					1328
					</span>
				</div>
			</div>
		</div>
		<div class="desc-box">
			<a href="https://blog.csdn.net/u014583317/article/details/109623671" target="_blank" data-report-click="{&quot;ab&quot;:&quot;new&quot;,&quot;spm&quot;:&quot;1001.2101.3001.6650.17&quot;,&quot;mod&quot;:&quot;popu_387&quot;,&quot;extra&quot;:&quot;{\&quot;highlightScore\&quot;:0.0,\&quot;utm_medium\&quot;:\&quot;distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-17-109623671-blog-132686757.235^v43^pc_blog_bottom_relevance_base7\&quot;,\&quot;dist_request_id\&quot;:\&quot;1745740675597_35004\&quot;}&quot;,&quot;dist_request_id&quot;:&quot;1745740675597_35004&quot;,&quot;ab_strategy&quot;:&quot;landing_bge_commercial_hanlp&quot;,&quot;index&quot;:&quot;17&quot;,&quot;strategy&quot;:&quot;2~default~BlogCommendFromBaidu~Rate&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u014583317/article/details/109623671&quot;}" data-report-query="spm=1001.2101.3001.6650.17&amp;utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-17-109623671-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-17-109623671-blog-132686757.235%5Ev43%5Epc_blog_bottom_relevance_base7&amp;utm_relevant_index=26">
				<div class="desc ellipsis-online ellipsis-online-1">前言
 <em>GPIO</em><em>驱动</em>是<em>Linux</em><em>驱动</em>开发中最基础、但却是很常用、很重要的<em>驱动</em>。比如你要点亮一个<em>LED</em>灯、键盘扫描、输出高低电平等等。而<em>Linux</em><em>内核</em>的强大之处在于对最底层的<em>GPIO</em>硬件操作层的基础上封装了一些统一的<em>GPIO</em>操作接口，也就是所谓的<em>GPIO</em><em>驱动</em><em>框架</em>。这样开发人员可以调用这些接口去操作设备的IO口，不需要担心硬件平台的不同导致IO口的不同。
 今天，我主要讲的就是如何使用<em>Linux</em><em>内核</em>封装好的<em>GPIO</em>接口函数，去操作不同平台的硬件<em>GPIO</em>库（每个平台厂家都会提供打包好的<em>GPIO</em>操作库）。
概述
 </div>
			</a>
		</div>
	</div>
</div>
              </div>
<div class="blog-footer-bottom" style="margin-top:10px;">
        <div id="copyright-box" class="">
          <div id="csdn-copyright-footer" class="column small">
            <ul class="footer-column-t">
            <li>
              <a rel="nofollow" href="https://www.csdn.net/company/index.html#about" target="_blank">关于我们</a>
            </li>
            <li>
              <a rel="nofollow" href="https://www.csdn.net/company/index.html#recruit" target="_blank">招贤纳士</a>
            </li>
            <li><a rel="nofollow" href="https://fsc-p05.txscrm.com/T8PN8SFII7W" target="_blank">商务合作</a></li>
            <li><a rel="nofollow" href="https://marketing.csdn.net/questions/Q2202181748074189855" target="_blank">寻求报道</a></li>
            <li>
              <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/tel.png" alt="">
              <span>400-660-0108</span>
            </li>
            <li>
              <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/email.png" alt="">
              <a rel="nofollow" href="mailto:webmaster@csdn.net" target="_blank">kefu@csdn.net</a>
            </li>
            <li>
              <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/cs.png" alt="">
              <a rel="nofollow" href="https://csdn.s2.udesk.cn/im_client/?web_plugin_id=29181" target="_blank">在线客服</a>
            </li>
            <li>
              工作时间&nbsp;8:30-22:00
            </li>
          </ul>
            <ul class="footer-column-b">
            <li><img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/badge.png" alt=""><a rel="nofollow" href="http://www.beian.gov.cn/portal/registerSystemInfo?recordcode=11010502030143" target="_blank">公安备案号11010502030143</a></li>
            <li><a rel="nofollow" href="http://beian.miit.gov.cn/publish/query/indexFirst.action" target="_blank">京ICP备19004658号</a></li>
            <li><a rel="nofollow" href="https://csdnimg.cn/release/live_fe/culture_license.png" target="_blank">京网文〔2020〕1039-165号</a></li>
            <li><a rel="nofollow" href="https://csdnimg.cn/cdn/content-toolbar/csdn-ICP.png" target="_blank">经营性网站备案信息</a></li>
            <li><a rel="nofollow" href="http://www.bjjubao.org/" target="_blank">北京互联网违法和不良信息举报中心</a></li>
            <li><a rel="nofollow" href="https://download.csdn.net/tutelage/home" target="_blank">家长监护</a></li>
            <li><a rel="nofollow" href="https://cyberpolice.mps.gov.cn/" target="_blank">网络110报警服务</a></li>
            <li><a rel="nofollow" href="http://www.12377.cn/" target="_blank">中国互联网举报中心</a></li>
            <li><a rel="nofollow" href="https://chrome.google.com/webstore/detail/csdn%E5%BC%80%E5%8F%91%E8%80%85%E5%8A%A9%E6%89%8B/kfkdboecolemdjodhmhmcibjocfopejo?hl=zh-CN" target="_blank">Chrome商店下载</a></li>
            <li><a rel="nofollow" href="https://blog.csdn.net/blogdevteam/article/details/126135357" target="_blank">账号管理规范</a></li>
            <li><a rel="nofollow" href="https://www.csdn.net/company/index.html#statement" target="_blank">版权与免责声明</a></li>
            <li><a rel="nofollow" href="https://blog.csdn.net/blogdevteam/article/details/90369522" target="_blank">版权申诉</a></li>
            <li><a rel="nofollow" href="https://img-home.csdnimg.cn/images/20250103023206.png" target="_blank">出版物许可证</a></li>
            <li><a rel="nofollow" href="https://img-home.csdnimg.cn/images/20250103023201.png" target="_blank">营业执照</a></li>
            <li>©1999-2025北京创新乐知网络技术有限公司</li>
          </ul>
          </div>
        </div>
      </div>
<script src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/csdn-footer.js.下载" data-isfootertrack="false" type="text/javascript"></script>
<script type="text/javascript">
    window.csdn.csdnFooter.options = {
        el: '.blog-footer-bottom',
        type: 2
    }
</script>          </main>
<aside class="blog_container_aside" style="position: fixed; bottom: 0px; z-index: 99; left: 135.5px; width: 300px; top: auto;">
<div id="asideProfile" class="aside-box active">
    <div class="profile-intro d-flex">
        <div class="avatar-box d-flex justify-content-center flex-column">
            <a href="https://cumtchw.blog.csdn.net/" target="_blank" data-report-click="{&quot;mod&quot;:&quot;popu_379&quot;,&quot;spm&quot;:&quot;3001.4121&quot;,&quot;dest&quot;:&quot;https://cumtchw.blog.csdn.net&quot;,&quot;ab&quot;:&quot;new&quot;}">
                <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/4961dde5f7d6439995a648b3047e6d02_u013171226.jpg!1" class="avatar_pic">
            </a>
        </div>
        <div class="user-info d-flex flex-column profile-intro-name-box">
            <div class="profile-intro-name-boxTop">
                <a href="https://cumtchw.blog.csdn.net/" target="_blank" class="" id="uid" title="陈 洪 伟" data-report-click="{&quot;mod&quot;:&quot;popu_379&quot;,&quot;spm&quot;:&quot;3001.4122&quot;,&quot;dest&quot;:&quot;https://cumtchw.blog.csdn.net&quot;,&quot;ab&quot;:&quot;new&quot;}">
                    <span class="name" username="u013171226">陈 洪 伟</span>
                </a>
            </div>
            <div class="profile-intro-name-boxFooter-new">
              <p class="profile-intro-name-leve">
                <span>
                  博客等级
                </span>
                  <img class="level" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/blog7.png">
              </p>
                <span class="profile-intro-name-years" title="已加入 CSDN 11年">码龄11年</span>
               
            </div>
        </div>
    </div>
    <div class="profile-intro-Identity-information">
        <p class="profile-information-box">
          <img class="information-img" data-report-click="{&quot;spm&quot;:&quot;3001.4296&quot;}" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/20210412060958.png" alt="">
          <span>嵌入式领域优质创作者</span>
        </p>
        <p class="profile-information-box">
          <img class="information-img" data-report-click="{&quot;spm&quot;:&quot;3001.4296&quot;}" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/20210114022826.png" alt="">
          <span>博客专家认证</span>
        </p>

    </div>
    <div class="profile-intro-rank-information">
      <dl>
        <a href="https://cumtchw.blog.csdn.net/" data-report-click="{&quot;mod&quot;:&quot;1598321000_001&quot;,&quot;spm&quot;:&quot;3001.4310&quot;}" data-report-query="t=1">  
            <dd><span>707</span></dd>
            <dt>原创</dt>
        </a>
      </dl>
       <dl title="2396">
        <dd>2396</dd>
        <dt>点赞</dt>
      </dl>
       <dl title="7091">
        <dd>7091</dd>
        <dt>收藏</dt>
      </dl>
      <dl id="fanBox" title="7228">
        <dd><span id="fan">7228</span></dd>
        <dt>粉丝</dt>
      </dl>
    </div>
    <div class="profile-intro-name-boxOpration">
        <div class="opt-letter-watch-box"> 
            <a class="personal-watch bt-button" id="btnAttent">关注</a>  
        </div>
        <div class="opt-letter-watch-box">
        <a rel="nofollow" class="bt-button personal-letter" href="https://im.csdn.net/chat/u013171226" target="_blank">私信</a>
        </div>
    </div>
</div>
      <div class="swiper-slide-box-remuneration">
        <a data-report-click="{&quot;spm&quot;:&quot;3001.9728&quot;,&quot;extra&quot;:{&quot;index&quot;:&quot;0&quot;}}" data-report-view="{&quot;spm&quot;:&quot;3001.9728&quot;,&quot;extra&quot;:{&quot;index&quot;:&quot;0&quot;}}" href="https://ai.csdn.net/" target="_blank">
          <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/2dd892a9769b4cce9c086db94eab887f.png" alt="">
        </a>
      </div>




<div id="asideHotArticle" class="aside-box">
	<h3 class="aside-title">热门文章</h3>
	<div class="aside-content">
		<ul class="hotArticle-list">
			<li>
				<a href="https://cumtchw.blog.csdn.net/article/details/108346322" target="_blank" data-report-click="{&quot;mod&quot;:&quot;popu_541&quot;,&quot;spm&quot;:&quot;3001.4139&quot;,&quot;dest&quot;:&quot;https://cumtchw.blog.csdn.net/article/details/108346322&quot;,&quot;ab&quot;:&quot;new&quot;}">
				ubuntu18.04上 /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28‘ not found
					<img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/readCountWhite.png" alt="">
					<span class="read">48509</span>
                </a>
			</li>
			<li>
				<a href="https://cumtchw.blog.csdn.net/article/details/121393763" target="_blank" data-report-click="{&quot;mod&quot;:&quot;popu_541&quot;,&quot;spm&quot;:&quot;3001.4139&quot;,&quot;dest&quot;:&quot;https://cumtchw.blog.csdn.net/article/details/121393763&quot;,&quot;ab&quot;:&quot;new&quot;}">
				git下载子模块命令git clone --recursive和git submodule update --init
					<img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/readCountWhite.png" alt="">
					<span class="read">34387</span>
                </a>
			</li>
			<li>
				<a href="https://cumtchw.blog.csdn.net/article/details/119597528" target="_blank" data-report-click="{&quot;mod&quot;:&quot;popu_541&quot;,&quot;spm&quot;:&quot;3001.4139&quot;,&quot;dest&quot;:&quot;https://cumtchw.blog.csdn.net/article/details/119597528&quot;,&quot;ab&quot;:&quot;new&quot;}">
				ARM架构与X86架构的区别
					<img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/readCountWhite.png" alt="">
					<span class="read">33009</span>
                </a>
			</li>
			<li>
				<a href="https://cumtchw.blog.csdn.net/article/details/126876335" target="_blank" data-report-click="{&quot;mod&quot;:&quot;popu_541&quot;,&quot;spm&quot;:&quot;3001.4139&quot;,&quot;dest&quot;:&quot;https://cumtchw.blog.csdn.net/article/details/126876335&quot;,&quot;ab&quot;:&quot;new&quot;}">
				内存错误分析工具----asan(AddressSanitizer)的介绍和使用
					<img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/readCountWhite.png" alt="">
					<span class="read">29322</span>
                </a>
			</li>
			<li>
				<a href="https://cumtchw.blog.csdn.net/article/details/121682503" target="_blank" data-report-click="{&quot;mod&quot;:&quot;popu_541&quot;,&quot;spm&quot;:&quot;3001.4139&quot;,&quot;dest&quot;:&quot;https://cumtchw.blog.csdn.net/article/details/121682503&quot;,&quot;ab&quot;:&quot;new&quot;}">
				error adding symbols: File in wrong format collect2: error: ld returned 1 exit status
					<img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/readCountWhite.png" alt="">
					<span class="read">25597</span>
                </a>
			</li>
		</ul>
	</div>
</div>
<div id="asideCategory" class="aside-box flexible-box">
    <h3 class="aside-title">分类专栏</h3>
    <div class="aside-content">
        <ul>
            <li>
                <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_11410227.html" data-report-click="{&quot;mod&quot;:&quot;popu_826&quot;,&quot;spm&quot;:&quot;3001.4230&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_11410227.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                    <div class="special-column-bar "></div>
                    <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/27e2fd050920c5ea3d263dd1abe971fe.jpeg" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                    <span class="title oneline">
                        rockchips--RV1126
                    </span>
                        <span class="pay-tag">付费</span>
                </a>
                <span class="special-column-num">30篇</span>
            </li>
            <li>
                <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_10250946.html" data-report-click="{&quot;mod&quot;:&quot;popu_826&quot;,&quot;spm&quot;:&quot;3001.4230&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_10250946.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                    <div class="special-column-bar "></div>
                    <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/27a2a993155f4d7ffed7814327d476b2.jpeg" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                    <span class="title oneline">
                        NVIDIA--Jetson Xavier_NX
                    </span>
                        <span class="pay-tag">付费</span>
                </a>
                <span class="special-column-num">36篇</span>
            </li>
            <li>
                <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_10250950.html" data-report-click="{&quot;mod&quot;:&quot;popu_826&quot;,&quot;spm&quot;:&quot;3001.4230&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_10250950.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                    <div class="special-column-bar "></div>
                    <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/a79b5d26e5eb30d09c8b21dfe9e5f9e4.jpeg" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                    <span class="title oneline">
                        python
                    </span>
                        <span class="pay-tag">付费</span>
                </a>
                <span class="special-column-num">70篇</span>
            </li>
            <li>
                <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_10250884.html" data-report-click="{&quot;mod&quot;:&quot;popu_826&quot;,&quot;spm&quot;:&quot;3001.4230&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_10250884.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                    <div class="special-column-bar "></div>
                    <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/46d8954922abff49fdccd65e2e2b7de1.jpeg" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                    <span class="title oneline">
                        Deep Learning
                    </span>
                        <span class="pay-tag">付费</span>
                </a>
                <span class="special-column-num">47篇</span>
            </li>
            <li>
                <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_10931509.html" data-report-click="{&quot;mod&quot;:&quot;popu_826&quot;,&quot;spm&quot;:&quot;3001.4230&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_10931509.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                    <div class="special-column-bar "></div>
                    <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/2c91aa018f43361e3f5243a104adc164.png" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                    <span class="title oneline">
                        PaddlePaddle_PaddleOCR
                    </span>
                        <span class="pay-tag">付费</span>
                </a>
                <span class="special-column-num">10篇</span>
            </li>
            <li>
                <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_12206600.html" data-report-click="{&quot;mod&quot;:&quot;popu_826&quot;,&quot;spm&quot;:&quot;3001.4230&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_12206600.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                    <div class="special-column-bar "></div>
                    <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/410e7ef99ea34cc3453277b9917b610d.jpeg" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                    <span class="title oneline">
                        人脸检测识别算法
                    </span>
                        <span class="pay-tag">付费</span>
                </a>
                <span class="special-column-num">12篇</span>
            </li>
            <li>
                <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_12283723.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_12283723.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                    <div class="special-column-bar "></div>
                    <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/20201014180756780.png" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                    <span class="title oneline">
                        计算机基础
                    </span>
                </a>
            </li>
            <li>
                <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_12707456.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_12707456.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                    <div class="special-column-bar special-column-bar-second"></div>
                    <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/00546cd4967e61659b0af846e0268205.png" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                    <span class="title oneline">
                        深入理解计算机系统(第三版)
                    </span>
                </a>
            </li>
            <li>
                <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_12283728.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_12283728.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                    <div class="special-column-bar special-column-bar-second"></div>
                    <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/b3b59f6fdb4e04345f43cc829ab787ce.jpeg" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                    <span class="title oneline">
                        嵌入式C语言自我修养
                    </span>
                </a>
            </li>
            <li>
                <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_12206683.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_12206683.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                    <div class="special-column-bar "></div>
                    <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/974bb3dc0e18bc4c3b83347853565ffa.png" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                    <span class="title oneline">
                        编程语言
                    </span>
                </a>
            </li>
            <li>
                <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_10250868.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_10250868.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                    <div class="special-column-bar special-column-bar-second"></div>
                    <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/6336bc6a8fb7e128211bbe88069d56b7.jpeg" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                    <span class="title oneline">
                        C
                    </span>
                </a>
                <span class="special-column-num">29篇</span>
            </li>
            <li>
                <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_10250873.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_10250873.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                    <div class="special-column-bar special-column-bar-second"></div>
                    <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/b22e123a2e76ca774dd89b9a84128784.jpeg" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                    <span class="title oneline">
                        C++
                    </span>
                </a>
                <span class="special-column-num">75篇</span>
            </li>
            <li>
                <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_10250934.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_10250934.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                    <div class="special-column-bar special-column-bar-second"></div>
                    <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/b30f0099993a539adfefe77c759aeb24.jpeg" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                    <span class="title oneline">
                        java
                    </span>
                </a>
                <span class="special-column-num">3篇</span>
            </li>
            <li>
                <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_12206700.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_12206700.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                    <div class="special-column-bar "></div>
                    <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/20201014180756757.png" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                    <span class="title oneline">
                        芯片平台
                    </span>
                </a>
            </li>
            <li>
                <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_12206361.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_12206361.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                    <div class="special-column-bar special-column-bar-second"></div>
                    <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/a7e19596de743df9bb30ff23dc80ce7f.jpeg" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                    <span class="title oneline">
                        算能科技--SE5(BM1684)SE9(BM1688)
                    </span>
                </a>
                <span class="special-column-num">11篇</span>
            </li>
            <li>
                <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_10250932.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_10250932.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                    <div class="special-column-bar special-column-bar-second"></div>
                    <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/a9ac7cc6c10678392b77f99a91544566.jpeg" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                    <span class="title oneline">
                        HUAWEI--海思_鲲鹏_昇腾
                    </span>
                </a>
                <span class="special-column-num">20篇</span>
            </li>
            <li>
                <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_12767864.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_12767864.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                    <div class="special-column-bar special-column-bar-second"></div>
                    <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/a1c3c1d9b2814d0a85cd61c68a034f14.jpeg" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                    <span class="title oneline">
                        Jetson AGX Orin
                    </span>
                </a>
                <span class="special-column-num">9篇</span>
            </li>
            <li>
                <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_12689699.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_12689699.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                    <div class="special-column-bar special-column-bar-second"></div>
                    <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/3dd5196520e17517c94d7dde208dc3be.jpeg" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                    <span class="title oneline">
                        rockchips--RK3588
                    </span>
                </a>
                <span class="special-column-num">1篇</span>
            </li>
            <li>
                <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_12747162.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_12747162.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                    <div class="special-column-bar special-column-bar-second"></div>
                    <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/664c50e3aac34302b35097f12752e616.jpeg" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                    <span class="title oneline">
                        君正--T41
                    </span>
                </a>
                <span class="special-column-num">4篇</span>
            </li>
            <li>
                <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_11353786.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_11353786.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                    <div class="special-column-bar special-column-bar-second"></div>
                    <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/f7e211c57a8003fef85e7c5da8ec7632.jpeg" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                    <span class="title oneline">
                        Cambricon--MLU220_MLU270
                    </span>
                </a>
                <span class="special-column-num">13篇</span>
            </li>
            <li>
                <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_12206408.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_12206408.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                    <div class="special-column-bar special-column-bar-second"></div>
                    <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/b526cea83dd6fe46e279f1ab8af561fb.jpeg" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                    <span class="title oneline">
                        联咏科技--NT98323
                    </span>
                </a>
                <span class="special-column-num">3篇</span>
            </li>
            <li>
                <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_10250961.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_10250961.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                    <div class="special-column-bar special-column-bar-second"></div>
                    <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/c777a90042899d862a5a4025849fc7c2.jpeg" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                    <span class="title oneline">
                        ST--STM32
                    </span>
                </a>
                <span class="special-column-num">9篇</span>
            </li>
            <li>
                <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_10250937.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_10250937.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                    <div class="special-column-bar special-column-bar-second"></div>
                    <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/03cc4298909c14b0469b49561a3eddc6.jpeg" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                    <span class="title oneline">
                        Samsung--S3C2440
                    </span>
                </a>
                <span class="special-column-num">63篇</span>
            </li>
            <li>
                <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_11690647.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_11690647.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                    <div class="special-column-bar special-column-bar-second"></div>
                    <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/fb9b0fbc5469e1f97a2ea8436a320f80.jpeg" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                    <span class="title oneline">
                        NXP--IMX6ULL
                    </span>
                </a>
                <span class="special-column-num">4篇</span>
            </li>
            <li>
                <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_10251174.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_10251174.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                    <div class="special-column-bar special-column-bar-second"></div>
                    <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/eed6e8b755dbd75240812062ff7a4b26.jpeg" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                    <span class="title oneline">
                        TI--C6748_F28027_音频_ADC
                    </span>
                </a>
                <span class="special-column-num">9篇</span>
            </li>
            <li>
                <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_11329206.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_11329206.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                    <div class="special-column-bar special-column-bar-second"></div>
                    <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/93b4cecfa8455f24625573e18a314ca7.png" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                    <span class="title oneline">
                        裸机调试工具及方法
                    </span>
                </a>
                <span class="special-column-num">8篇</span>
            </li>
            <li>
                <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_11331854.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_11331854.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                    <div class="special-column-bar "></div>
                    <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/4e6a5160c63a16aed96933ce2b23bed2.png" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                    <span class="title oneline">
                        RTOS--FreeRTOS_RT-Thread
                    </span>
                </a>
                <span class="special-column-num">1篇</span>
            </li>
            <li>
                <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_11331875.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_11331875.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                    <div class="special-column-bar "></div>
                    <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/93b4cecfa8455f24625573e18a314ca7.png" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                    <span class="title oneline">
                        GUI--emWin_TouchGFX_LVGL
                    </span>
                </a>
                <span class="special-column-num">1篇</span>
            </li>
            <li>
                <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_12206703.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_12206703.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                    <div class="special-column-bar "></div>
                    <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/20201014180756724.png" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                    <span class="title oneline">
                        uboot_linux内核_根文件系统
                    </span>
                </a>
            </li>
            <li>
                <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_10697576.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_10697576.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                    <div class="special-column-bar special-column-bar-second"></div>
                    <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/974bb3dc0e18bc4c3b83347853565ffa.png" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                    <span class="title oneline">
                        bootloader_uboot
                    </span>
                </a>
                <span class="special-column-num">9篇</span>
            </li>
            <li>
                <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_11363937.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_11363937.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                    <div class="special-column-bar special-column-bar-second"></div>
                    <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/93b4cecfa8455f24625573e18a314ca7.png" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                    <span class="title oneline">
                        Linux内核
                    </span>
                </a>
                <span class="special-column-num">11篇</span>
            </li>
            <li>
                <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_11364557.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_11364557.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                    <div class="special-column-bar special-column-bar-second"></div>
                    <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/fde2b7a5c05ffaa0f83e8b6be6cacc39.png" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                    <span class="title oneline">
                        根文件系统
                    </span>
                </a>
                <span class="special-column-num">7篇</span>
            </li>
            <li>
                <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_12344787.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_12344787.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                    <div class="special-column-bar special-column-bar-second"></div>
                    <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/7d8727d03f299ec52a833bd09cfd7652.png" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                    <span class="title oneline">
                        Buildroot_BusyBox
                    </span>
                </a>
                <span class="special-column-num">1篇</span>
            </li>
            <li>
                <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_12206706.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_12206706.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                    <div class="special-column-bar "></div>
                    <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/20201014180756918.png" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                    <span class="title oneline">
                        Linux驱动
                    </span>
                </a>
            </li>
            <li>
                <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_11677431.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_11677431.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                    <div class="special-column-bar special-column-bar-second"></div>
                    <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/851e4526037f74449cfd1e4620925701.jpeg" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                    <span class="title oneline">
                        深入Linux设备驱动程序内核机制--陈雪松
                    </span>
                </a>
            </li>
            <li>
                <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_10697579.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_10697579.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                    <div class="special-column-bar special-column-bar-second"></div>
                    <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/bf2e529ad54e761d84018c19189883b0.jpeg" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                    <span class="title oneline">
                        Linux驱动--驱动开发基础
                    </span>
                </a>
                <span class="special-column-num">24篇</span>
            </li>
            <li>
                <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_11329215.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_11329215.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                    <div class="special-column-bar special-column-bar-second"></div>
                    <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/f9e5dc48891ae58afd67623c027982e4.png" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                    <span class="title oneline">
                        Linux驱动--设备树
                    </span>
                </a>
                <span class="special-column-num">23篇</span>
            </li>
            <li>
                <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_12375970.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_12375970.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                    <div class="special-column-bar special-column-bar-second"></div>
                    <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/b9346faac8287efffed28c8b2d898da7(1).png" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                    <span class="title oneline">
                        Linux驱动--驱动大全
                    </span>
                </a>
                <span class="special-column-num">8篇</span>
            </li>
            <li>
                <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_11329223.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_11329223.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                    <div class="special-column-bar special-column-bar-second"></div>
                    <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/93b4cecfa8455f24625573e18a314ca7.png" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                    <span class="title oneline">
                        Linux驱动调试工具及方法
                    </span>
                </a>
                <span class="special-column-num">8篇</span>
            </li>
            <li>
                <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_12206708.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_12206708.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                    <div class="special-column-bar "></div>
                    <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/20201014180756923.png" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                    <span class="title oneline">
                        Linux应用
                    </span>
                </a>
            </li>
            <li>
                <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_10250865.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_10250865.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                    <div class="special-column-bar special-column-bar-second"></div>
                    <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/b9837933ab662d1863939e486cd76ab7.jpeg" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                    <span class="title oneline">
                        Linux应用开发
                    </span>
                </a>
                <span class="special-column-num">92篇</span>
            </li>
            <li>
                <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_11329234.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_11329234.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                    <div class="special-column-bar special-column-bar-second"></div>
                    <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/371b377765ed35f13bb64d116f3a5de1.png" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                    <span class="title oneline">
                        Linux应用调试工具及方法
                    </span>
                </a>
                <span class="special-column-num">16篇</span>
            </li>
            <li>
                <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_10250968.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_10250968.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                    <div class="special-column-bar special-column-bar-second"></div>
                    <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/b91baa007adac3c565bc92cc51c7d0e7.jpeg" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                    <span class="title oneline">
                        Ubuntu_CentOS使用
                    </span>
                </a>
                <span class="special-column-num">96篇</span>
            </li>
            <li>
                <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_10250959.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_10250959.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                    <div class="special-column-bar special-column-bar-second"></div>
                    <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/9ec5defb5d7db10356ed33e8b1d33d5e.jpeg" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                    <span class="title oneline">
                        QT
                    </span>
                </a>
                <span class="special-column-num">2篇</span>
            </li>
            <li>
                <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_10250947.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_10250947.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                    <div class="special-column-bar special-column-bar-second"></div>
                    <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/90bab62a841f16fbcc685511bdee8fb0.jpeg" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                    <span class="title oneline">
                        OpenCV
                    </span>
                </a>
                <span class="special-column-num">45篇</span>
            </li>
            <li>
                <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_11437232.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_11437232.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                    <div class="special-column-bar special-column-bar-second"></div>
                    <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/fde2b7a5c05ffaa0f83e8b6be6cacc39.png" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                    <span class="title oneline">
                        ActiveMQ_Kafka_MQTT
                    </span>
                </a>
                <span class="special-column-num">5篇</span>
            </li>
            <li>
                <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_10250960.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_10250960.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                    <div class="special-column-bar special-column-bar-second"></div>
                    <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/0dba8d4da2fe3ff2fa469b8d417908b5.jpeg" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                    <span class="title oneline">
                        sqlite_mysql
                    </span>
                </a>
                <span class="special-column-num">7篇</span>
            </li>
            <li>
                <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_10786779.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_10786779.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                    <div class="special-column-bar "></div>
                    <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/20201014180756780.png" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                    <span class="title oneline">
                        TensorRT_CUDA
                    </span>
                </a>
                <span class="special-column-num">22篇</span>
            </li>
            <li>
                <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_12901956.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_12901956.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                    <div class="special-column-bar "></div>
                    <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/b6aad28ee508491b80d167d89ab9845d.png" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                    <span class="title oneline">
                        CUDA编程
                    </span>
                </a>
                <span class="special-column-num">6篇</span>
            </li>
            <li>
                <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_12208342.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_12208342.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                    <div class="special-column-bar "></div>
                    <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/d1cbccaddd0aacc26983c10b243b3159.png" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                    <span class="title oneline">
                        运动控制
                    </span>
                </a>
            </li>
            <li>
                <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_10250949.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_10250949.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                    <div class="special-column-bar special-column-bar-second"></div>
                    <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/50ebd4af1d8ce5bdece6406b1f1ca55c.png" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                    <span class="title oneline">
                        无人机飞控PX4
                    </span>
                </a>
                <span class="special-column-num">8篇</span>
            </li>
            <li>
                <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_12351056.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_12351056.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                    <div class="special-column-bar special-column-bar-second"></div>
                    <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/20201014180756922.png" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                    <span class="title oneline">
                        电机控制
                    </span>
                </a>
            </li>
            <li>
                <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_12351057.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_12351057.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                    <div class="special-column-bar special-column-bar-second"></div>
                    <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/d1cbccaddd0aacc26983c10b243b3159.png" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                    <span class="title oneline">
                        PID
                    </span>
                </a>
            </li>
            <li>
                <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_12208345.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_12208345.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                    <div class="special-column-bar "></div>
                    <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/7d8727d03f299ec52a833bd09cfd7652.png" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                    <span class="title oneline">
                        Android
                    </span>
                </a>
            </li>
            <li>
                <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_10562717.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_10562717.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                    <div class="special-column-bar special-column-bar-second"></div>
                    <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/e19eadf40226f95c6e73e84d15bc1fee.jpeg" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                    <span class="title oneline">
                        Android应用
                    </span>
                </a>
                <span class="special-column-num">6篇</span>
            </li>
            <li>
                <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_12206712.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_12206712.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                    <div class="special-column-bar "></div>
                    <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/20201014180756919.png" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                    <span class="title oneline">
                        深度学习
                    </span>
                </a>
                <span class="special-column-num">2篇</span>
            </li>
            <li>
                <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_12644212.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_12644212.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                    <div class="special-column-bar special-column-bar-second"></div>
                    <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/20201014180756923.png" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                    <span class="title oneline">
                        Transformer
                    </span>
                </a>
                <span class="special-column-num">2篇</span>
            </li>
            <li>
                <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_12363288.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_12363288.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                    <div class="special-column-bar special-column-bar-second"></div>
                    <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/b9346faac8287efffed28c8b2d898da7(1).png" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                    <span class="title oneline">
                        大语言模型LLM
                    </span>
                </a>
                <span class="special-column-num">12篇</span>
            </li>
            <li>
                <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_12206593.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_12206593.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                    <div class="special-column-bar special-column-bar-second"></div>
                    <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/c2170975b258c415dce329ac782e9ddb.jpeg" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                    <span class="title oneline">
                        图像分类算法
                    </span>
                </a>
                <span class="special-column-num">7篇</span>
            </li>
            <li>
                <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_12206596.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_12206596.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                    <div class="special-column-bar special-column-bar-second"></div>
                    <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/0d90e37847693d5eb17767be2e565186.jpeg" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                    <span class="title oneline">
                        目标检测算法
                    </span>
                </a>
                <span class="special-column-num">23篇</span>
            </li>
            <li>
                <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_12206781.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_12206781.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                    <div class="special-column-bar special-column-bar-second"></div>
                    <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/7d8727d03f299ec52a833bd09cfd7652.png" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                    <span class="title oneline">
                        骨骼关键点检测算法
                    </span>
                </a>
                <span class="special-column-num">2篇</span>
            </li>
            <li>
                <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_12206784.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_12206784.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                    <div class="special-column-bar special-column-bar-second"></div>
                    <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/20201014180756922.png" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                    <span class="title oneline">
                        图像分割算法
                    </span>
                </a>
                <span class="special-column-num">2篇</span>
            </li>
            <li>
                <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_10346416.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_10346416.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                    <div class="special-column-bar special-column-bar-second"></div>
                    <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/97cca99ea8753462741edfa8c05bcb61.png" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                    <span class="title oneline">
                        特征提取压缩量化比对方法
                    </span>
                </a>
                <span class="special-column-num">11篇</span>
            </li>
            <li>
                <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_10250958.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_10250958.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                    <div class="special-column-bar special-column-bar-second"></div>
                    <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/c7d7237cc71fd3c0b90863937aa78a28.jpeg" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                    <span class="title oneline">
                        Pytorch
                    </span>
                </a>
                <span class="special-column-num">9篇</span>
            </li>
            <li>
                <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_10250876.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_10250876.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                    <div class="special-column-bar special-column-bar-second"></div>
                    <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/0c4f2cf1b7fcf5de56113813b32a7f50.jpeg" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                    <span class="title oneline">
                        Caffe
                    </span>
                </a>
                <span class="special-column-num">18篇</span>
            </li>
            <li>
                <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_10250881.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_10250881.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                    <div class="special-column-bar special-column-bar-second"></div>
                    <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/24c5974fe0cc258315b32eb5b17b1abf.jpeg" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                    <span class="title oneline">
                        darknet
                    </span>
                </a>
                <span class="special-column-num">9篇</span>
            </li>
            <li>
                <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_10562705.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_10562705.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                    <div class="special-column-bar special-column-bar-second"></div>
                    <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/e3babc6985555913c96a4ac9125a33e2.png" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                    <span class="title oneline">
                        onnx_mnn_ncnn
                    </span>
                </a>
                <span class="special-column-num">8篇</span>
            </li>
            <li>
                <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_11636795.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_11636795.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                    <div class="special-column-bar special-column-bar-second"></div>
                    <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/fde2b7a5c05ffaa0f83e8b6be6cacc39.png" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                    <span class="title oneline">
                        Tengine
                    </span>
                </a>
                <span class="special-column-num">2篇</span>
            </li>
            <li>
                <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_12850462.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_12850462.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                    <div class="special-column-bar "></div>
                    <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/20201014180756738.png" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                    <span class="title oneline">
                        多目标跟踪
                    </span>
                </a>
                <span class="special-column-num">2篇</span>
            </li>
            <li>
                <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_12206714.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_12206714.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                    <div class="special-column-bar "></div>
                    <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/20201014180756913.png" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                    <span class="title oneline">
                        IDE和软件开发工具
                    </span>
                </a>
            </li>
            <li>
                <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_10250974.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_10250974.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                    <div class="special-column-bar special-column-bar-second"></div>
                    <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/eb9b4578b75763a886c4c12f2908d628.png" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                    <span class="title oneline">
                        各种IDE--vscode_si_pycharm
                    </span>
                </a>
                <span class="special-column-num">37篇</span>
            </li>
            <li>
                <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_10250939.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_10250939.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                    <div class="special-column-bar special-column-bar-second"></div>
                    <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/c0be71d72ad1f9397920d7cc4e601519.jpeg" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                    <span class="title oneline">
                        Makefile_CMake
                    </span>
                </a>
                <span class="special-column-num">23篇</span>
            </li>
            <li>
                <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_10250929.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_10250929.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                    <div class="special-column-bar special-column-bar-second"></div>
                    <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/5b396e6fa86df8078f2e87633750161c.jpeg" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                    <span class="title oneline">
                        git_svn
                    </span>
                </a>
                <span class="special-column-num">7篇</span>
            </li>
            <li>
                <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_12206716.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_12206716.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                    <div class="special-column-bar "></div>
                    <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/20201014180756757.png" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                    <span class="title oneline">
                        硬件开发与设计
                    </span>
                </a>
            </li>
            <li>
                <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_11251775.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_11251775.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                    <div class="special-column-bar special-column-bar-second"></div>
                    <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/58922cfd9562253f5a214fd1fa809300.jpeg" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                    <span class="title oneline">
                        数字电子技术基础
                    </span>
                </a>
                <span class="special-column-num">3篇</span>
            </li>
            <li>
                <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_11248645.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_11248645.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                    <div class="special-column-bar special-column-bar-second"></div>
                    <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/88a7270d30ced9dd450852150b7fecca.jpeg" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                    <span class="title oneline">
                        Cadence_PADS_Altium Designer
                    </span>
                </a>
                <span class="special-column-num">1篇</span>
            </li>
            <li>
                <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_10250930.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_10250930.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                    <div class="special-column-bar special-column-bar-second"></div>
                    <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/96f6be6ab9d7c2140b1e2761e7eeee85.png" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                    <span class="title oneline">
                        硬件设计
                    </span>
                </a>
                <span class="special-column-num">10篇</span>
            </li>
            <li>
                <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_11329230.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_11329230.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                    <div class="special-column-bar special-column-bar-second"></div>
                    <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/13b2b4fad44a5c4b43dcb18fe7fa46b8.png" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                    <span class="title oneline">
                        硬件仿真调试工具及方法
                    </span>
                </a>
            </li>
            <li>
                <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_12355128.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_12355128.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                    <div class="special-column-bar special-column-bar-second"></div>
                    <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/20201014180756919.png" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                    <span class="title oneline">
                        硬件DIY
                    </span>
                </a>
                <span class="special-column-num">1篇</span>
            </li>
            <li>
                <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_12206717.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_12206717.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                    <div class="special-column-bar "></div>
                    <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/974bb3dc0e18bc4c3b83347853565ffa.png" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                    <span class="title oneline">
                        其他
                    </span>
                </a>
            </li>
            <li>
                <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_10250942.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_10250942.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                    <div class="special-column-bar special-column-bar-second"></div>
                    <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/758088d2b247c99cd196d5478792b049.png" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                    <span class="title oneline">
                        Method of study and work
                    </span>
                </a>
                <span class="special-column-num">5篇</span>
            </li>
            <li>
                <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_10314765.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_10314765.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                    <div class="special-column-bar special-column-bar-second"></div>
                    <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/cb26c6757e5ac1fb9993d8faa03e3e47.jpeg" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                    <span class="title oneline">
                        生活习惯和闲书读书笔记
                    </span>
                </a>
                <span class="special-column-num">8篇</span>
            </li>
            <li>
                <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_10250977.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_10250977.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                    <div class="special-column-bar special-column-bar-second"></div>
                    <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/dd0986a7a0e13b6521325b2487162c60.jpeg" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                    <span class="title oneline">
                        windows使用
                    </span>
                </a>
                <span class="special-column-num">24篇</span>
            </li>
        </ul>
    </div>
    <p class="text-center">
        <a class="flexible-btn" data-fbox="aside-archive"><img class="look-more" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/arrowDownWhite.png" alt=""></a>
    </p>
</div>
<div id="asideNewComments" class="aside-box">
    <h3 class="aside-title">最新评论</h3>
    <div class="aside-content">
        <ul class="newcomment-list">
            <li>
                <a class="title text-truncate" target="_blank" href="https://cumtchw.blog.csdn.net/article/details/145472120#comments_36983212" data-report-click="{&quot;mod&quot;:&quot;popu_542&quot;,&quot;spm&quot;:&quot;3001.4231&quot;,&quot;dest&quot;:&quot;https://cumtchw.blog.csdn.net/article/details/145472120#comments_36983212&quot;,&quot;ab&quot;:&quot;new&quot;}">YOLOv8-OBB：利用TensorRT编写Plugin，CUDA编写后处理相关核函数，TensorRT和CUDA代码分析</a>
                <p class="comment ellipsis">
                    <a href="https://cumtchw.blog.csdn.net/" class="user-name" target="_blank">陈 洪 伟: </a>
                    <span class="code-comments">没有，onnx正常生成，但是onnx转成tensorRT模型的时候生成的trt模型里面就会包含这个层了，</span>
                </p>
            </li>
            <li>
                <a class="title text-truncate" target="_blank" href="https://cumtchw.blog.csdn.net/article/details/145472120#comments_36983158" data-report-click="{&quot;mod&quot;:&quot;popu_542&quot;,&quot;spm&quot;:&quot;3001.4231&quot;,&quot;dest&quot;:&quot;https://cumtchw.blog.csdn.net/article/details/145472120#comments_36983158&quot;,&quot;ab&quot;:&quot;new&quot;}">YOLOv8-OBB：利用TensorRT编写Plugin，CUDA编写后处理相关核函数，TensorRT和CUDA代码分析</a>
                <p class="comment ellipsis">
                    <a href="https://blog.csdn.net/liuxiangxxl" class="user-name" target="_blank">liuxiangxxl: </a>
                    <span class="code-comments">你好请问下，这个添加poly plugin层你在 你的onnx模型中添加了对应的层嘛？</span>
                </p>
            </li>
            <li>
                <a class="title text-truncate" target="_blank" href="https://cumtchw.blog.csdn.net/article/details/128249155#comments_36691970" data-report-click="{&quot;mod&quot;:&quot;popu_542&quot;,&quot;spm&quot;:&quot;3001.4231&quot;,&quot;dest&quot;:&quot;https://cumtchw.blog.csdn.net/article/details/128249155#comments_36691970&quot;,&quot;ab&quot;:&quot;new&quot;}">ubuntu交叉编译onnxruntime源码_cpu版本</a>
                <p class="comment ellipsis">
                    <a href="https://blog.csdn.net/m0_73406058" class="user-name" target="_blank">陌虚友: </a>
                    <span class="code-comments">佬，能否请教下交叉编译onnxruntime库遇到的问题，目标平台是armv7架构的</span>
                </p>
            </li>
            <li>
                <a class="title text-truncate" target="_blank" href="https://cumtchw.blog.csdn.net/article/details/121450408#comments_36485341" data-report-click="{&quot;mod&quot;:&quot;popu_542&quot;,&quot;spm&quot;:&quot;3001.4231&quot;,&quot;dest&quot;:&quot;https://cumtchw.blog.csdn.net/article/details/121450408#comments_36485341&quot;,&quot;ab&quot;:&quot;new&quot;}">C++反射机制的实现</a>
                <p class="comment ellipsis">
                    <a href="https://blog.csdn.net/qq_41570584" class="user-name" target="_blank">一个疯子大蕉: </a>
                    <span class="code-comments">其实QT的Property机制就是反射</span>
                </p>
            </li>
            <li>
                <a class="title text-truncate" target="_blank" href="https://cumtchw.blog.csdn.net/article/details/121660595#comments_36460314" data-report-click="{&quot;mod&quot;:&quot;popu_542&quot;,&quot;spm&quot;:&quot;3001.4231&quot;,&quot;dest&quot;:&quot;https://cumtchw.blog.csdn.net/article/details/121660595#comments_36460314&quot;,&quot;ab&quot;:&quot;new&quot;}">瑞芯微RV1126部署yolov5-face_模型转换_输出后处理C++实现</a>
                <p class="comment ellipsis">
                    <a href="https://blog.csdn.net/2401_85011407" class="user-name" target="_blank">2401_85011407: </a>
                    <span class="code-comments">请问这个问题解决了吗？我也遇到了</span>
                </p>
            </li>
        </ul>
    </div>
</div>
<div id="asideArchive" class="aside-box" style="display:block!important; width:300px;">
    <h3 class="aside-title">最新文章</h3>
    <div class="aside-content">
        <ul class="inf_list clearfix">
            <li class="clearfix">
            <a href="https://cumtchw.blog.csdn.net/article/details/147440976" target="_blank" data-report-click="{&quot;mod&quot;:&quot;popu_382&quot;,&quot;spm&quot;:&quot;3001.4136&quot;,&quot;dest&quot;:&quot;https://cumtchw.blog.csdn.net/article/details/147440976&quot;,&quot;ab&quot;:&quot;new&quot;}">算能BM1684升级为BM1688: tpu_mlir转换模型_SDK更新_代码修改_问题排查_代码调试</a>
            </li>
            <li class="clearfix">
            <a href="https://cumtchw.blog.csdn.net/article/details/147309031" target="_blank" data-report-click="{&quot;mod&quot;:&quot;popu_382&quot;,&quot;spm&quot;:&quot;3001.4136&quot;,&quot;dest&quot;:&quot;https://cumtchw.blog.csdn.net/article/details/147309031&quot;,&quot;ab&quot;:&quot;new&quot;}">AI代码编辑器cursor的安装、核心功能、使用技巧</a>
            </li>
            <li class="clearfix">
            <a href="https://cumtchw.blog.csdn.net/article/details/147281731" target="_blank" data-report-click="{&quot;mod&quot;:&quot;popu_382&quot;,&quot;spm&quot;:&quot;3001.4136&quot;,&quot;dest&quot;:&quot;https://cumtchw.blog.csdn.net/article/details/147281731&quot;,&quot;ab&quot;:&quot;new&quot;}">一个由通义千问以及FFmpeg的AVFrame、buffer引起的bug：前面几帧影响后面帧数据</a>
            </li>
        </ul>
        <div class="archive-bar"></div>
        <div class="archive-box">
                <div class="archive-list-item"><a href="https://cumtchw.blog.csdn.net/?type=blog&amp;year=2025&amp;month=04" target="_blank" data-report-click="{&quot;mod&quot;:&quot;popu_538&quot;,&quot;spm&quot;:&quot;3001.4138&quot;,&quot;ab&quot;:&quot;new&quot;,&quot;dest&quot;:&quot;https://cumtchw.blog.csdn.net?type=blog&amp;year=2025&amp;month=04&quot;}"><span class="year">2025年</span><span class="num">14篇</span></a></div>
                <div class="archive-list-item"><a href="https://cumtchw.blog.csdn.net/?type=blog&amp;year=2024&amp;month=12" target="_blank" data-report-click="{&quot;mod&quot;:&quot;popu_538&quot;,&quot;spm&quot;:&quot;3001.4138&quot;,&quot;ab&quot;:&quot;new&quot;,&quot;dest&quot;:&quot;https://cumtchw.blog.csdn.net?type=blog&amp;year=2024&amp;month=12&quot;}"><span class="year">2024年</span><span class="num">56篇</span></a></div>
                <div class="archive-list-item"><a href="https://cumtchw.blog.csdn.net/?type=blog&amp;year=2023&amp;month=12" target="_blank" data-report-click="{&quot;mod&quot;:&quot;popu_538&quot;,&quot;spm&quot;:&quot;3001.4138&quot;,&quot;ab&quot;:&quot;new&quot;,&quot;dest&quot;:&quot;https://cumtchw.blog.csdn.net?type=blog&amp;year=2023&amp;month=12&quot;}"><span class="year">2023年</span><span class="num">54篇</span></a></div>
                <div class="archive-list-item"><a href="https://cumtchw.blog.csdn.net/?type=blog&amp;year=2022&amp;month=12" target="_blank" data-report-click="{&quot;mod&quot;:&quot;popu_538&quot;,&quot;spm&quot;:&quot;3001.4138&quot;,&quot;ab&quot;:&quot;new&quot;,&quot;dest&quot;:&quot;https://cumtchw.blog.csdn.net?type=blog&amp;year=2022&amp;month=12&quot;}"><span class="year">2022年</span><span class="num">129篇</span></a></div>
                <div class="archive-list-item"><a href="https://cumtchw.blog.csdn.net/?type=blog&amp;year=2021&amp;month=12" target="_blank" data-report-click="{&quot;mod&quot;:&quot;popu_538&quot;,&quot;spm&quot;:&quot;3001.4138&quot;,&quot;ab&quot;:&quot;new&quot;,&quot;dest&quot;:&quot;https://cumtchw.blog.csdn.net?type=blog&amp;year=2021&amp;month=12&quot;}"><span class="year">2021年</span><span class="num">234篇</span></a></div>
                <div class="archive-list-item"><a href="https://cumtchw.blog.csdn.net/?type=blog&amp;year=2020&amp;month=12" target="_blank" data-report-click="{&quot;mod&quot;:&quot;popu_538&quot;,&quot;spm&quot;:&quot;3001.4138&quot;,&quot;ab&quot;:&quot;new&quot;,&quot;dest&quot;:&quot;https://cumtchw.blog.csdn.net?type=blog&amp;year=2020&amp;month=12&quot;}"><span class="year">2020年</span><span class="num">199篇</span></a></div>
                <div class="archive-list-item"><a href="https://cumtchw.blog.csdn.net/?type=blog&amp;year=2019&amp;month=12" target="_blank" data-report-click="{&quot;mod&quot;:&quot;popu_538&quot;,&quot;spm&quot;:&quot;3001.4138&quot;,&quot;ab&quot;:&quot;new&quot;,&quot;dest&quot;:&quot;https://cumtchw.blog.csdn.net?type=blog&amp;year=2019&amp;month=12&quot;}"><span class="year">2019年</span><span class="num">37篇</span></a></div>
                <div class="archive-list-item"><a href="https://cumtchw.blog.csdn.net/?type=blog&amp;year=2018&amp;month=12" target="_blank" data-report-click="{&quot;mod&quot;:&quot;popu_538&quot;,&quot;spm&quot;:&quot;3001.4138&quot;,&quot;ab&quot;:&quot;new&quot;,&quot;dest&quot;:&quot;https://cumtchw.blog.csdn.net?type=blog&amp;year=2018&amp;month=12&quot;}"><span class="year">2018年</span><span class="num">5篇</span></a></div>
                <div class="archive-list-item"><a href="https://cumtchw.blog.csdn.net/?type=blog&amp;year=2017&amp;month=09" target="_blank" data-report-click="{&quot;mod&quot;:&quot;popu_538&quot;,&quot;spm&quot;:&quot;3001.4138&quot;,&quot;ab&quot;:&quot;new&quot;,&quot;dest&quot;:&quot;https://cumtchw.blog.csdn.net?type=blog&amp;year=2017&amp;month=09&quot;}"><span class="year">2017年</span><span class="num">24篇</span></a></div>
                <div class="archive-list-item"><a href="https://cumtchw.blog.csdn.net/?type=blog&amp;year=2015&amp;month=08" target="_blank" data-report-click="{&quot;mod&quot;:&quot;popu_538&quot;,&quot;spm&quot;:&quot;3001.4138&quot;,&quot;ab&quot;:&quot;new&quot;,&quot;dest&quot;:&quot;https://cumtchw.blog.csdn.net?type=blog&amp;year=2015&amp;month=08&quot;}"><span class="year">2015年</span><span class="num">12篇</span></a></div>
        </div>
    </div>
</div>
    <!-- 详情页显示目录 -->
<!--文章目录-->
<div id="asidedirectory" class="aside-box">
    <div class="groupfile" id="directory">
        <h3 class="aside-title">目录</h3>
        <div class="align-items-stretch group_item">
            <div class="pos-box">
            <div class="scroll-box">
                <div class="toc-box"><ol><li><a href="https://blog.csdn.net/u013171226/article/details/132686757#t0">1 引入</a></li><li><a href="https://blog.csdn.net/u013171226/article/details/132686757#t1">2 GPIO子系统的层次</a></li><li><a href="https://blog.csdn.net/u013171226/article/details/132686757#t2">3 gpio子系统驱动程序流程</a></li><li><a href="https://blog.csdn.net/u013171226/article/details/132686757#t3">4 gpio子系统的重要数据结构</a></li><li><a href="https://blog.csdn.net/u013171226/article/details/132686757#t4">5 gpio子系统函数调用的详细细节</a></li><li><a href="https://blog.csdn.net/u013171226/article/details/132686757#t5">6 GPIO子系统的sysfs接口</a></li><li class="sub-box"><ol><li><a href="https://blog.csdn.net/u013171226/article/details/132686757#t6">6.1有哪些gpio控制器</a></li><li><a href="https://blog.csdn.net/u013171226/article/details/132686757#t7">6.2每个gpio控制器的详细信息</a></li><li><a href="https://blog.csdn.net/u013171226/article/details/132686757#t8">6.3查看gpio使用情况</a></li><li><a href="https://blog.csdn.net/u013171226/article/details/132686757#t9">6.4通过SYSFS使用GPIO</a></li><li class="sub-box"><ol><li><a href="https://blog.csdn.net/u013171226/article/details/132686757#t10">6.4.1 确定GPIO编号</a></li><li class="active"><a href="https://blog.csdn.net/u013171226/article/details/132686757#t11">6.4.2 导出、设置方向、读写值</a></li></ol></li></ol></li><li class=""><a href="https://blog.csdn.net/u013171226/article/details/132686757#t12">7 费曼学习法：于是我录制了一个讲解gpio子系统的学习视频</a></li><li class=""><a href="https://blog.csdn.net/u013171226/article/details/132686757#t13">8 基于pinctrl子系统和gpio子系统的LED驱动程序</a></li><li class="sub-box"><ol><li class=""><a href="https://blog.csdn.net/u013171226/article/details/132686757#t14">8.1 查看原理图确定引脚</a></li><li class=""><a href="https://blog.csdn.net/u013171226/article/details/132686757#t15">8.2 修改设备树文件</a></li><li class="sub-box"><ol><li class=""><a href="https://blog.csdn.net/u013171226/article/details/132686757#t16">8.2.1 设备树中增加pinctrl信息</a></li><li class=""><a href="https://blog.csdn.net/u013171226/article/details/132686757#t17">8.2.2 设备中增加led节点信息</a></li></ol></li><li><a href="https://blog.csdn.net/u013171226/article/details/132686757#t18">8.3 编写代码</a></li><li class="sub-box"><ol><li class=""><a href="https://blog.csdn.net/u013171226/article/details/132686757#t19">8.3.1驱动程序leddrv.c</a></li><li class=""><a href="https://blog.csdn.net/u013171226/article/details/132686757#t20">8.3.2 测试程序ledtest.c</a></li><li class=""><a href="https://blog.csdn.net/u013171226/article/details/132686757#t21">8.3.3 Makefile</a></li></ol></li><li class=""><a href="https://blog.csdn.net/u013171226/article/details/132686757#t22">8.4 实验</a></li><li class="sub-box"><ol><li class=""><a href="https://blog.csdn.net/u013171226/article/details/132686757#t23">8.4.1 编译设备树文件</a></li><li class=""><a href="https://blog.csdn.net/u013171226/article/details/132686757#t24">8.4.2 编译驱动和测试程序</a></li><li class=""><a href="https://blog.csdn.net/u013171226/article/details/132686757#t25">8.4.3 替换设备树、驱动以及测试程序</a></li></ol></li></ol></li></ol></div>
            </div>
            </div>
        </div>
    </div>
</div>
</aside>
<script>
	$("a.flexible-btn").click(function(){
		$(this).parents('div.aside-box').removeClass('flexible-box');
		$(this).parents("p.text-center").remove();
	})
</script>
<script type="text/javascript" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/user-tooltip.js.下载"></script>
<script type="text/javascript" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/user-medal.js.下载"></script>        </div>
<div class="recommend-right align-items-stretch clearfix" id="rightAside" data-type="recommend">
    <aside class="recommend-right_aside">
      <div class="rightside-fixed-hide" style="display: none;">
             </div>
        <div id="recommend-right" style="position: fixed; top: 56px;">
          <div class="flex-column aside-box groupfile" id="groupfile" style="display: block; max-height: 293px;">
              <div class="groupfile-div" style="max-height: 293px;">
              <h3 class="aside-title">目录</h3>
              <div class="align-items-stretch group_item">
                  <div class="pos-box">
                      <div class="scroll-box">
                          <div class="toc-box"><ol><li><a href="https://blog.csdn.net/u013171226/article/details/132686757#t0">1 引入</a></li><li><a href="https://blog.csdn.net/u013171226/article/details/132686757#t1">2 GPIO子系统的层次</a></li><li><a href="https://blog.csdn.net/u013171226/article/details/132686757#t2">3 gpio子系统驱动程序流程</a></li><li><a href="https://blog.csdn.net/u013171226/article/details/132686757#t3">4 gpio子系统的重要数据结构</a></li><li><a href="https://blog.csdn.net/u013171226/article/details/132686757#t4">5 gpio子系统函数调用的详细细节</a></li><li><a href="https://blog.csdn.net/u013171226/article/details/132686757#t5">6 GPIO子系统的sysfs接口</a></li><li class="sub-box"><ol><li><a href="https://blog.csdn.net/u013171226/article/details/132686757#t6">6.1有哪些gpio控制器</a></li><li><a href="https://blog.csdn.net/u013171226/article/details/132686757#t7">6.2每个gpio控制器的详细信息</a></li><li><a href="https://blog.csdn.net/u013171226/article/details/132686757#t8">6.3查看gpio使用情况</a></li><li><a href="https://blog.csdn.net/u013171226/article/details/132686757#t9">6.4通过SYSFS使用GPIO</a></li><li class="sub-box"><ol><li><a href="https://blog.csdn.net/u013171226/article/details/132686757#t10">6.4.1 确定GPIO编号</a></li><li class="active"><a href="https://blog.csdn.net/u013171226/article/details/132686757#t11">6.4.2 导出、设置方向、读写值</a></li></ol></li></ol></li><li class=""><a href="https://blog.csdn.net/u013171226/article/details/132686757#t12">7 费曼学习法：于是我录制了一个讲解gpio子系统的学习视频</a></li><li class=""><a href="https://blog.csdn.net/u013171226/article/details/132686757#t13">8 基于pinctrl子系统和gpio子系统的LED驱动程序</a></li><li class="sub-box"><ol><li class=""><a href="https://blog.csdn.net/u013171226/article/details/132686757#t14">8.1 查看原理图确定引脚</a></li><li class=""><a href="https://blog.csdn.net/u013171226/article/details/132686757#t15">8.2 修改设备树文件</a></li><li class="sub-box"><ol><li class=""><a href="https://blog.csdn.net/u013171226/article/details/132686757#t16">8.2.1 设备树中增加pinctrl信息</a></li><li class=""><a href="https://blog.csdn.net/u013171226/article/details/132686757#t17">8.2.2 设备中增加led节点信息</a></li></ol></li><li><a href="https://blog.csdn.net/u013171226/article/details/132686757#t18">8.3 编写代码</a></li><li class="sub-box"><ol><li class=""><a href="https://blog.csdn.net/u013171226/article/details/132686757#t19">8.3.1驱动程序leddrv.c</a></li><li class=""><a href="https://blog.csdn.net/u013171226/article/details/132686757#t20">8.3.2 测试程序ledtest.c</a></li><li class=""><a href="https://blog.csdn.net/u013171226/article/details/132686757#t21">8.3.3 Makefile</a></li></ol></li><li class=""><a href="https://blog.csdn.net/u013171226/article/details/132686757#t22">8.4 实验</a></li><li class="sub-box"><ol><li class=""><a href="https://blog.csdn.net/u013171226/article/details/132686757#t23">8.4.1 编译设备树文件</a></li><li class=""><a href="https://blog.csdn.net/u013171226/article/details/132686757#t24">8.4.2 编译驱动和测试程序</a></li><li class=""><a href="https://blog.csdn.net/u013171226/article/details/132686757#t25">8.4.3 替换设备树、驱动以及测试程序</a></li></ol></li></ol></li></ol></div>
                      </div>
                  </div>
              </div>
              </div>
          </div>
          <div class="aside-box kind_person d-flex flex-column">
                  <h3 class="aside-title">分类专栏</h3>
                  <div class="align-items-stretch kindof_item" id="kind_person_column">
                      <div class="aside-content">
                          <ul>
                              <li>
                                  <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_11410227.html" data-report-click="{&quot;mod&quot;:&quot;popu_826&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4230&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_11410227.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                                      <div class="special-column-bar "></div>
                                      <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/27e2fd050920c5ea3d263dd1abe971fe.jpeg" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                                      <span class="">
                                          rockchips--RV1126
                                      </span>
                                          <span class="pay-tag">付费</span>
                                  </a>
                                  <span class="special-column-num">30篇</span>
                              </li>
                              <li>
                                  <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_10250946.html" data-report-click="{&quot;mod&quot;:&quot;popu_826&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4230&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_10250946.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                                      <div class="special-column-bar "></div>
                                      <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/27a2a993155f4d7ffed7814327d476b2.jpeg" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                                      <span class="">
                                          NVIDIA--Jetson Xavier_NX
                                      </span>
                                          <span class="pay-tag">付费</span>
                                  </a>
                                  <span class="special-column-num">36篇</span>
                              </li>
                              <li>
                                  <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_10250950.html" data-report-click="{&quot;mod&quot;:&quot;popu_826&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4230&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_10250950.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                                      <div class="special-column-bar "></div>
                                      <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/a79b5d26e5eb30d09c8b21dfe9e5f9e4.jpeg" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                                      <span class="">
                                          python
                                      </span>
                                          <span class="pay-tag">付费</span>
                                  </a>
                                  <span class="special-column-num">70篇</span>
                              </li>
                              <li>
                                  <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_10250884.html" data-report-click="{&quot;mod&quot;:&quot;popu_826&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4230&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_10250884.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                                      <div class="special-column-bar "></div>
                                      <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/46d8954922abff49fdccd65e2e2b7de1.jpeg" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                                      <span class="">
                                          Deep Learning
                                      </span>
                                          <span class="pay-tag">付费</span>
                                  </a>
                                  <span class="special-column-num">47篇</span>
                              </li>
                              <li>
                                  <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_10931509.html" data-report-click="{&quot;mod&quot;:&quot;popu_826&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4230&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_10931509.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                                      <div class="special-column-bar "></div>
                                      <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/2c91aa018f43361e3f5243a104adc164.png" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                                      <span class="">
                                          PaddlePaddle_PaddleOCR
                                      </span>
                                          <span class="pay-tag">付费</span>
                                  </a>
                                  <span class="special-column-num">10篇</span>
                              </li>
                              <li>
                                  <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_12206600.html" data-report-click="{&quot;mod&quot;:&quot;popu_826&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4230&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_12206600.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                                      <div class="special-column-bar "></div>
                                      <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/410e7ef99ea34cc3453277b9917b610d.jpeg" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                                      <span class="">
                                          人脸检测识别算法
                                      </span>
                                          <span class="pay-tag">付费</span>
                                  </a>
                                  <span class="special-column-num">12篇</span>
                              </li>
                              <li>
                                  <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_12283723.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_12283723.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                                      <div class="special-column-bar "></div>
                                      <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/20201014180756780.png" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                                      <span class="">
                                          计算机基础
                                      </span>
                                  </a>
                              </li>
                              <li>
                                  <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_12707456.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_12707456.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                                      <div class="special-column-bar special-column-bar-second"></div>
                                      <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/00546cd4967e61659b0af846e0268205.png" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                                      <span class="">
                                          深入理解计算机系统(第三版)
                                      </span>
                                  </a>
                              </li>
                              <li>
                                  <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_12283728.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_12283728.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                                      <div class="special-column-bar special-column-bar-second"></div>
                                      <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/b3b59f6fdb4e04345f43cc829ab787ce.jpeg" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                                      <span class="">
                                          嵌入式C语言自我修养
                                      </span>
                                  </a>
                              </li>
                              <li>
                                  <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_12206683.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_12206683.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                                      <div class="special-column-bar "></div>
                                      <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/974bb3dc0e18bc4c3b83347853565ffa.png" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                                      <span class="">
                                          编程语言
                                      </span>
                                  </a>
                              </li>
                              <li>
                                  <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_10250868.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_10250868.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                                      <div class="special-column-bar special-column-bar-second"></div>
                                      <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/6336bc6a8fb7e128211bbe88069d56b7.jpeg" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                                      <span class="">
                                          C
                                      </span>
                                  </a>
                                  <span class="special-column-num">29篇</span>
                              </li>
                              <li>
                                  <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_10250873.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_10250873.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                                      <div class="special-column-bar special-column-bar-second"></div>
                                      <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/b22e123a2e76ca774dd89b9a84128784.jpeg" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                                      <span class="">
                                          C++
                                      </span>
                                  </a>
                                  <span class="special-column-num">75篇</span>
                              </li>
                              <li>
                                  <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_10250934.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_10250934.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                                      <div class="special-column-bar special-column-bar-second"></div>
                                      <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/b30f0099993a539adfefe77c759aeb24.jpeg" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                                      <span class="">
                                          java
                                      </span>
                                  </a>
                                  <span class="special-column-num">3篇</span>
                              </li>
                              <li>
                                  <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_12206700.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_12206700.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                                      <div class="special-column-bar "></div>
                                      <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/20201014180756757.png" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                                      <span class="">
                                          芯片平台
                                      </span>
                                  </a>
                              </li>
                              <li>
                                  <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_12206361.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_12206361.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                                      <div class="special-column-bar special-column-bar-second"></div>
                                      <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/a7e19596de743df9bb30ff23dc80ce7f.jpeg" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                                      <span class="">
                                          算能科技--SE5(BM1684)SE9(BM1688)
                                      </span>
                                  </a>
                                  <span class="special-column-num">11篇</span>
                              </li>
                              <li>
                                  <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_10250932.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_10250932.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                                      <div class="special-column-bar special-column-bar-second"></div>
                                      <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/a9ac7cc6c10678392b77f99a91544566.jpeg" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                                      <span class="">
                                          HUAWEI--海思_鲲鹏_昇腾
                                      </span>
                                  </a>
                                  <span class="special-column-num">20篇</span>
                              </li>
                              <li>
                                  <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_12767864.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_12767864.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                                      <div class="special-column-bar special-column-bar-second"></div>
                                      <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/a1c3c1d9b2814d0a85cd61c68a034f14.jpeg" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                                      <span class="">
                                          Jetson AGX Orin
                                      </span>
                                  </a>
                                  <span class="special-column-num">9篇</span>
                              </li>
                              <li>
                                  <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_12689699.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_12689699.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                                      <div class="special-column-bar special-column-bar-second"></div>
                                      <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/3dd5196520e17517c94d7dde208dc3be.jpeg" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                                      <span class="">
                                          rockchips--RK3588
                                      </span>
                                  </a>
                                  <span class="special-column-num">1篇</span>
                              </li>
                              <li>
                                  <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_12747162.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_12747162.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                                      <div class="special-column-bar special-column-bar-second"></div>
                                      <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/664c50e3aac34302b35097f12752e616.jpeg" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                                      <span class="">
                                          君正--T41
                                      </span>
                                  </a>
                                  <span class="special-column-num">4篇</span>
                              </li>
                              <li>
                                  <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_11353786.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_11353786.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                                      <div class="special-column-bar special-column-bar-second"></div>
                                      <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/f7e211c57a8003fef85e7c5da8ec7632.jpeg" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                                      <span class="">
                                          Cambricon--MLU220_MLU270
                                      </span>
                                  </a>
                                  <span class="special-column-num">13篇</span>
                              </li>
                              <li>
                                  <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_12206408.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_12206408.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                                      <div class="special-column-bar special-column-bar-second"></div>
                                      <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/b526cea83dd6fe46e279f1ab8af561fb.jpeg" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                                      <span class="">
                                          联咏科技--NT98323
                                      </span>
                                  </a>
                                  <span class="special-column-num">3篇</span>
                              </li>
                              <li>
                                  <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_10250961.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_10250961.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                                      <div class="special-column-bar special-column-bar-second"></div>
                                      <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/c777a90042899d862a5a4025849fc7c2.jpeg" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                                      <span class="">
                                          ST--STM32
                                      </span>
                                  </a>
                                  <span class="special-column-num">9篇</span>
                              </li>
                              <li>
                                  <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_10250937.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_10250937.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                                      <div class="special-column-bar special-column-bar-second"></div>
                                      <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/03cc4298909c14b0469b49561a3eddc6.jpeg" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                                      <span class="">
                                          Samsung--S3C2440
                                      </span>
                                  </a>
                                  <span class="special-column-num">63篇</span>
                              </li>
                              <li>
                                  <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_11690647.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_11690647.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                                      <div class="special-column-bar special-column-bar-second"></div>
                                      <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/fb9b0fbc5469e1f97a2ea8436a320f80.jpeg" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                                      <span class="">
                                          NXP--IMX6ULL
                                      </span>
                                  </a>
                                  <span class="special-column-num">4篇</span>
                              </li>
                              <li>
                                  <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_10251174.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_10251174.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                                      <div class="special-column-bar special-column-bar-second"></div>
                                      <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/eed6e8b755dbd75240812062ff7a4b26.jpeg" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                                      <span class="">
                                          TI--C6748_F28027_音频_ADC
                                      </span>
                                  </a>
                                  <span class="special-column-num">9篇</span>
                              </li>
                              <li>
                                  <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_11329206.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_11329206.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                                      <div class="special-column-bar special-column-bar-second"></div>
                                      <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/93b4cecfa8455f24625573e18a314ca7.png" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                                      <span class="">
                                          裸机调试工具及方法
                                      </span>
                                  </a>
                                  <span class="special-column-num">8篇</span>
                              </li>
                              <li>
                                  <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_11331854.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_11331854.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                                      <div class="special-column-bar "></div>
                                      <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/4e6a5160c63a16aed96933ce2b23bed2.png" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                                      <span class="">
                                          RTOS--FreeRTOS_RT-Thread
                                      </span>
                                  </a>
                                  <span class="special-column-num">1篇</span>
                              </li>
                              <li>
                                  <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_11331875.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_11331875.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                                      <div class="special-column-bar "></div>
                                      <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/93b4cecfa8455f24625573e18a314ca7.png" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                                      <span class="">
                                          GUI--emWin_TouchGFX_LVGL
                                      </span>
                                  </a>
                                  <span class="special-column-num">1篇</span>
                              </li>
                              <li>
                                  <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_12206703.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_12206703.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                                      <div class="special-column-bar "></div>
                                      <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/20201014180756724.png" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                                      <span class="">
                                          uboot_linux内核_根文件系统
                                      </span>
                                  </a>
                              </li>
                              <li>
                                  <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_10697576.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_10697576.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                                      <div class="special-column-bar special-column-bar-second"></div>
                                      <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/974bb3dc0e18bc4c3b83347853565ffa.png" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                                      <span class="">
                                          bootloader_uboot
                                      </span>
                                  </a>
                                  <span class="special-column-num">9篇</span>
                              </li>
                              <li>
                                  <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_11363937.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_11363937.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                                      <div class="special-column-bar special-column-bar-second"></div>
                                      <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/93b4cecfa8455f24625573e18a314ca7.png" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                                      <span class="">
                                          Linux内核
                                      </span>
                                  </a>
                                  <span class="special-column-num">11篇</span>
                              </li>
                              <li>
                                  <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_11364557.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_11364557.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                                      <div class="special-column-bar special-column-bar-second"></div>
                                      <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/fde2b7a5c05ffaa0f83e8b6be6cacc39.png" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                                      <span class="">
                                          根文件系统
                                      </span>
                                  </a>
                                  <span class="special-column-num">7篇</span>
                              </li>
                              <li>
                                  <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_12344787.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_12344787.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                                      <div class="special-column-bar special-column-bar-second"></div>
                                      <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/7d8727d03f299ec52a833bd09cfd7652.png" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                                      <span class="">
                                          Buildroot_BusyBox
                                      </span>
                                  </a>
                                  <span class="special-column-num">1篇</span>
                              </li>
                              <li>
                                  <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_12206706.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_12206706.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                                      <div class="special-column-bar "></div>
                                      <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/20201014180756918.png" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                                      <span class="">
                                          Linux驱动
                                      </span>
                                  </a>
                              </li>
                              <li>
                                  <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_11677431.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_11677431.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                                      <div class="special-column-bar special-column-bar-second"></div>
                                      <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/851e4526037f74449cfd1e4620925701.jpeg" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                                      <span class="">
                                          深入Linux设备驱动程序内核机制--陈雪松
                                      </span>
                                  </a>
                              </li>
                              <li>
                                  <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_10697579.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_10697579.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                                      <div class="special-column-bar special-column-bar-second"></div>
                                      <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/bf2e529ad54e761d84018c19189883b0.jpeg" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                                      <span class="">
                                          Linux驱动--驱动开发基础
                                      </span>
                                  </a>
                                  <span class="special-column-num">24篇</span>
                              </li>
                              <li>
                                  <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_11329215.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_11329215.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                                      <div class="special-column-bar special-column-bar-second"></div>
                                      <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/f9e5dc48891ae58afd67623c027982e4.png" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                                      <span class="">
                                          Linux驱动--设备树
                                      </span>
                                  </a>
                                  <span class="special-column-num">23篇</span>
                              </li>
                              <li>
                                  <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_12375970.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_12375970.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                                      <div class="special-column-bar special-column-bar-second"></div>
                                      <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/b9346faac8287efffed28c8b2d898da7(1).png" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                                      <span class="">
                                          Linux驱动--驱动大全
                                      </span>
                                  </a>
                                  <span class="special-column-num">8篇</span>
                              </li>
                              <li>
                                  <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_11329223.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_11329223.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                                      <div class="special-column-bar special-column-bar-second"></div>
                                      <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/93b4cecfa8455f24625573e18a314ca7.png" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                                      <span class="">
                                          Linux驱动调试工具及方法
                                      </span>
                                  </a>
                                  <span class="special-column-num">8篇</span>
                              </li>
                              <li>
                                  <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_12206708.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_12206708.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                                      <div class="special-column-bar "></div>
                                      <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/20201014180756923.png" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                                      <span class="">
                                          Linux应用
                                      </span>
                                  </a>
                              </li>
                              <li>
                                  <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_10250865.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_10250865.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                                      <div class="special-column-bar special-column-bar-second"></div>
                                      <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/b9837933ab662d1863939e486cd76ab7.jpeg" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                                      <span class="">
                                          Linux应用开发
                                      </span>
                                  </a>
                                  <span class="special-column-num">92篇</span>
                              </li>
                              <li>
                                  <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_11329234.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_11329234.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                                      <div class="special-column-bar special-column-bar-second"></div>
                                      <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/371b377765ed35f13bb64d116f3a5de1.png" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                                      <span class="">
                                          Linux应用调试工具及方法
                                      </span>
                                  </a>
                                  <span class="special-column-num">16篇</span>
                              </li>
                              <li>
                                  <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_10250968.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_10250968.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                                      <div class="special-column-bar special-column-bar-second"></div>
                                      <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/b91baa007adac3c565bc92cc51c7d0e7.jpeg" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                                      <span class="">
                                          Ubuntu_CentOS使用
                                      </span>
                                  </a>
                                  <span class="special-column-num">96篇</span>
                              </li>
                              <li>
                                  <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_10250959.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_10250959.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                                      <div class="special-column-bar special-column-bar-second"></div>
                                      <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/9ec5defb5d7db10356ed33e8b1d33d5e.jpeg" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                                      <span class="">
                                          QT
                                      </span>
                                  </a>
                                  <span class="special-column-num">2篇</span>
                              </li>
                              <li>
                                  <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_10250947.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_10250947.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                                      <div class="special-column-bar special-column-bar-second"></div>
                                      <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/90bab62a841f16fbcc685511bdee8fb0.jpeg" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                                      <span class="">
                                          OpenCV
                                      </span>
                                  </a>
                                  <span class="special-column-num">45篇</span>
                              </li>
                              <li>
                                  <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_11437232.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_11437232.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                                      <div class="special-column-bar special-column-bar-second"></div>
                                      <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/fde2b7a5c05ffaa0f83e8b6be6cacc39.png" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                                      <span class="">
                                          ActiveMQ_Kafka_MQTT
                                      </span>
                                  </a>
                                  <span class="special-column-num">5篇</span>
                              </li>
                              <li>
                                  <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_10250960.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_10250960.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                                      <div class="special-column-bar special-column-bar-second"></div>
                                      <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/0dba8d4da2fe3ff2fa469b8d417908b5.jpeg" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                                      <span class="">
                                          sqlite_mysql
                                      </span>
                                  </a>
                                  <span class="special-column-num">7篇</span>
                              </li>
                              <li>
                                  <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_10786779.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_10786779.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                                      <div class="special-column-bar "></div>
                                      <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/20201014180756780.png" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                                      <span class="">
                                          TensorRT_CUDA
                                      </span>
                                  </a>
                                  <span class="special-column-num">22篇</span>
                              </li>
                              <li>
                                  <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_12901956.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_12901956.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                                      <div class="special-column-bar "></div>
                                      <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/b6aad28ee508491b80d167d89ab9845d.png" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                                      <span class="">
                                          CUDA编程
                                      </span>
                                  </a>
                                  <span class="special-column-num">6篇</span>
                              </li>
                              <li>
                                  <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_12208342.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_12208342.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                                      <div class="special-column-bar "></div>
                                      <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/d1cbccaddd0aacc26983c10b243b3159.png" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                                      <span class="">
                                          运动控制
                                      </span>
                                  </a>
                              </li>
                              <li>
                                  <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_10250949.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_10250949.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                                      <div class="special-column-bar special-column-bar-second"></div>
                                      <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/50ebd4af1d8ce5bdece6406b1f1ca55c.png" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                                      <span class="">
                                          无人机飞控PX4
                                      </span>
                                  </a>
                                  <span class="special-column-num">8篇</span>
                              </li>
                              <li>
                                  <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_12351056.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_12351056.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                                      <div class="special-column-bar special-column-bar-second"></div>
                                      <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/20201014180756922.png" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                                      <span class="">
                                          电机控制
                                      </span>
                                  </a>
                              </li>
                              <li>
                                  <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_12351057.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_12351057.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                                      <div class="special-column-bar special-column-bar-second"></div>
                                      <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/d1cbccaddd0aacc26983c10b243b3159.png" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                                      <span class="">
                                          PID
                                      </span>
                                  </a>
                              </li>
                              <li>
                                  <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_12208345.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_12208345.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                                      <div class="special-column-bar "></div>
                                      <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/7d8727d03f299ec52a833bd09cfd7652.png" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                                      <span class="">
                                          Android
                                      </span>
                                  </a>
                              </li>
                              <li>
                                  <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_10562717.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_10562717.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                                      <div class="special-column-bar special-column-bar-second"></div>
                                      <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/e19eadf40226f95c6e73e84d15bc1fee.jpeg" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                                      <span class="">
                                          Android应用
                                      </span>
                                  </a>
                                  <span class="special-column-num">6篇</span>
                              </li>
                              <li>
                                  <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_12206712.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_12206712.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                                      <div class="special-column-bar "></div>
                                      <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/20201014180756919.png" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                                      <span class="">
                                          深度学习
                                      </span>
                                  </a>
                                  <span class="special-column-num">2篇</span>
                              </li>
                              <li>
                                  <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_12644212.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_12644212.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                                      <div class="special-column-bar special-column-bar-second"></div>
                                      <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/20201014180756923.png" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                                      <span class="">
                                          Transformer
                                      </span>
                                  </a>
                                  <span class="special-column-num">2篇</span>
                              </li>
                              <li>
                                  <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_12363288.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_12363288.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                                      <div class="special-column-bar special-column-bar-second"></div>
                                      <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/b9346faac8287efffed28c8b2d898da7(1).png" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                                      <span class="">
                                          大语言模型LLM
                                      </span>
                                  </a>
                                  <span class="special-column-num">12篇</span>
                              </li>
                              <li>
                                  <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_12206593.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_12206593.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                                      <div class="special-column-bar special-column-bar-second"></div>
                                      <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/c2170975b258c415dce329ac782e9ddb.jpeg" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                                      <span class="">
                                          图像分类算法
                                      </span>
                                  </a>
                                  <span class="special-column-num">7篇</span>
                              </li>
                              <li>
                                  <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_12206596.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_12206596.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                                      <div class="special-column-bar special-column-bar-second"></div>
                                      <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/0d90e37847693d5eb17767be2e565186.jpeg" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                                      <span class="">
                                          目标检测算法
                                      </span>
                                  </a>
                                  <span class="special-column-num">23篇</span>
                              </li>
                              <li>
                                  <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_12206781.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_12206781.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                                      <div class="special-column-bar special-column-bar-second"></div>
                                      <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/7d8727d03f299ec52a833bd09cfd7652.png" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                                      <span class="">
                                          骨骼关键点检测算法
                                      </span>
                                  </a>
                                  <span class="special-column-num">2篇</span>
                              </li>
                              <li>
                                  <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_12206784.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_12206784.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                                      <div class="special-column-bar special-column-bar-second"></div>
                                      <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/20201014180756922.png" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                                      <span class="">
                                          图像分割算法
                                      </span>
                                  </a>
                                  <span class="special-column-num">2篇</span>
                              </li>
                              <li>
                                  <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_10346416.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_10346416.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                                      <div class="special-column-bar special-column-bar-second"></div>
                                      <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/97cca99ea8753462741edfa8c05bcb61.png" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                                      <span class="">
                                          特征提取压缩量化比对方法
                                      </span>
                                  </a>
                                  <span class="special-column-num">11篇</span>
                              </li>
                              <li>
                                  <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_10250958.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_10250958.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                                      <div class="special-column-bar special-column-bar-second"></div>
                                      <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/c7d7237cc71fd3c0b90863937aa78a28.jpeg" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                                      <span class="">
                                          Pytorch
                                      </span>
                                  </a>
                                  <span class="special-column-num">9篇</span>
                              </li>
                              <li>
                                  <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_10250876.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_10250876.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                                      <div class="special-column-bar special-column-bar-second"></div>
                                      <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/0c4f2cf1b7fcf5de56113813b32a7f50.jpeg" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                                      <span class="">
                                          Caffe
                                      </span>
                                  </a>
                                  <span class="special-column-num">18篇</span>
                              </li>
                              <li>
                                  <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_10250881.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_10250881.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                                      <div class="special-column-bar special-column-bar-second"></div>
                                      <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/24c5974fe0cc258315b32eb5b17b1abf.jpeg" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                                      <span class="">
                                          darknet
                                      </span>
                                  </a>
                                  <span class="special-column-num">9篇</span>
                              </li>
                              <li>
                                  <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_10562705.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_10562705.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                                      <div class="special-column-bar special-column-bar-second"></div>
                                      <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/e3babc6985555913c96a4ac9125a33e2.png" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                                      <span class="">
                                          onnx_mnn_ncnn
                                      </span>
                                  </a>
                                  <span class="special-column-num">8篇</span>
                              </li>
                              <li>
                                  <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_11636795.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_11636795.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                                      <div class="special-column-bar special-column-bar-second"></div>
                                      <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/fde2b7a5c05ffaa0f83e8b6be6cacc39.png" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                                      <span class="">
                                          Tengine
                                      </span>
                                  </a>
                                  <span class="special-column-num">2篇</span>
                              </li>
                              <li>
                                  <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_12850462.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_12850462.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                                      <div class="special-column-bar "></div>
                                      <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/20201014180756738.png" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                                      <span class="">
                                          多目标跟踪
                                      </span>
                                  </a>
                                  <span class="special-column-num">2篇</span>
                              </li>
                              <li>
                                  <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_12206714.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_12206714.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                                      <div class="special-column-bar "></div>
                                      <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/20201014180756913.png" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                                      <span class="">
                                          IDE和软件开发工具
                                      </span>
                                  </a>
                              </li>
                              <li>
                                  <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_10250974.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_10250974.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                                      <div class="special-column-bar special-column-bar-second"></div>
                                      <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/eb9b4578b75763a886c4c12f2908d628.png" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                                      <span class="">
                                          各种IDE--vscode_si_pycharm
                                      </span>
                                  </a>
                                  <span class="special-column-num">37篇</span>
                              </li>
                              <li>
                                  <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_10250939.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_10250939.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                                      <div class="special-column-bar special-column-bar-second"></div>
                                      <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/c0be71d72ad1f9397920d7cc4e601519.jpeg" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                                      <span class="">
                                          Makefile_CMake
                                      </span>
                                  </a>
                                  <span class="special-column-num">23篇</span>
                              </li>
                              <li>
                                  <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_10250929.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_10250929.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                                      <div class="special-column-bar special-column-bar-second"></div>
                                      <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/5b396e6fa86df8078f2e87633750161c.jpeg" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                                      <span class="">
                                          git_svn
                                      </span>
                                  </a>
                                  <span class="special-column-num">7篇</span>
                              </li>
                              <li>
                                  <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_12206716.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_12206716.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                                      <div class="special-column-bar "></div>
                                      <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/20201014180756757.png" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                                      <span class="">
                                          硬件开发与设计
                                      </span>
                                  </a>
                              </li>
                              <li>
                                  <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_11251775.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_11251775.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                                      <div class="special-column-bar special-column-bar-second"></div>
                                      <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/58922cfd9562253f5a214fd1fa809300.jpeg" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                                      <span class="">
                                          数字电子技术基础
                                      </span>
                                  </a>
                                  <span class="special-column-num">3篇</span>
                              </li>
                              <li>
                                  <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_11248645.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_11248645.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                                      <div class="special-column-bar special-column-bar-second"></div>
                                      <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/88a7270d30ced9dd450852150b7fecca.jpeg" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                                      <span class="">
                                          Cadence_PADS_Altium Designer
                                      </span>
                                  </a>
                                  <span class="special-column-num">1篇</span>
                              </li>
                              <li>
                                  <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_10250930.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_10250930.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                                      <div class="special-column-bar special-column-bar-second"></div>
                                      <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/96f6be6ab9d7c2140b1e2761e7eeee85.png" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                                      <span class="">
                                          硬件设计
                                      </span>
                                  </a>
                                  <span class="special-column-num">10篇</span>
                              </li>
                              <li>
                                  <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_11329230.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_11329230.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                                      <div class="special-column-bar special-column-bar-second"></div>
                                      <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/13b2b4fad44a5c4b43dcb18fe7fa46b8.png" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                                      <span class="">
                                          硬件仿真调试工具及方法
                                      </span>
                                  </a>
                              </li>
                              <li>
                                  <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_12355128.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_12355128.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                                      <div class="special-column-bar special-column-bar-second"></div>
                                      <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/20201014180756919.png" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                                      <span class="">
                                          硬件DIY
                                      </span>
                                  </a>
                                  <span class="special-column-num">1篇</span>
                              </li>
                              <li>
                                  <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_12206717.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_12206717.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                                      <div class="special-column-bar "></div>
                                      <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/974bb3dc0e18bc4c3b83347853565ffa.png" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                                      <span class="">
                                          其他
                                      </span>
                                  </a>
                              </li>
                              <li>
                                  <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_10250942.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_10250942.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                                      <div class="special-column-bar special-column-bar-second"></div>
                                      <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/758088d2b247c99cd196d5478792b049.png" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                                      <span class="">
                                          Method of study and work
                                      </span>
                                  </a>
                                  <span class="special-column-num">5篇</span>
                              </li>
                              <li>
                                  <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_10314765.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_10314765.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                                      <div class="special-column-bar special-column-bar-second"></div>
                                      <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/cb26c6757e5ac1fb9993d8faa03e3e47.jpeg" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                                      <span class="">
                                          生活习惯和闲书读书笔记
                                      </span>
                                  </a>
                                  <span class="special-column-num">8篇</span>
                              </li>
                              <li>
                                  <a class="clearfix special-column-name" href="https://blog.csdn.net/u013171226/category_10250977.html" data-report-click="{&quot;mod&quot;:&quot;popu_537&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4137&quot;,&quot;strategy&quot;:&quot;pc付费专栏左侧入口&quot;,&quot;dest&quot;:&quot;https://blog.csdn.net/u013171226/category_10250977.html&quot;,&quot;ab&quot;:&quot;new&quot;}">
                                      <div class="special-column-bar special-column-bar-second"></div>
                                      <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/dd0986a7a0e13b6521325b2487162c60.jpeg" alt="" onerror="this.src=&#39;https://i-blog.csdnimg.cn/columns/default/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64&#39;">
                                      <span class="">
                                          windows使用
                                      </span>
                                  </a>
                                  <span class="special-column-num">24篇</span>
                              </li>
                          </ul>
                      </div>
                  </div>
          </div>
        </div>
    </aside>
</div>

<div class="recommend-right1  align-items-stretch clearfix" id="rightAsideConcision" data-type="recommend">
    <aside class="recommend-right_aside">
        <div id="recommend-right-concision" style="position: fixed; top: 56px;">
            <div class="flex-column aside-box groupfile" id="groupfileConcision">
                <div class="groupfile-div1" style="max-height: 538px;">
                <h3 class="aside-title">目录</h3>
                <div class="align-items-stretch group_item">
                    <div class="pos-box">
                        <div class="scroll-box">
                            <div class="toc-box"><ol><li><a href="https://blog.csdn.net/u013171226/article/details/132686757#t0">1 引入</a></li><li><a href="https://blog.csdn.net/u013171226/article/details/132686757#t1">2 GPIO子系统的层次</a></li><li><a href="https://blog.csdn.net/u013171226/article/details/132686757#t2">3 gpio子系统驱动程序流程</a></li><li><a href="https://blog.csdn.net/u013171226/article/details/132686757#t3">4 gpio子系统的重要数据结构</a></li><li><a href="https://blog.csdn.net/u013171226/article/details/132686757#t4">5 gpio子系统函数调用的详细细节</a></li><li><a href="https://blog.csdn.net/u013171226/article/details/132686757#t5">6 GPIO子系统的sysfs接口</a></li><li class="sub-box"><ol><li><a href="https://blog.csdn.net/u013171226/article/details/132686757#t6">6.1有哪些gpio控制器</a></li><li><a href="https://blog.csdn.net/u013171226/article/details/132686757#t7">6.2每个gpio控制器的详细信息</a></li><li><a href="https://blog.csdn.net/u013171226/article/details/132686757#t8">6.3查看gpio使用情况</a></li><li><a href="https://blog.csdn.net/u013171226/article/details/132686757#t9">6.4通过SYSFS使用GPIO</a></li><li class="sub-box"><ol><li><a href="https://blog.csdn.net/u013171226/article/details/132686757#t10">6.4.1 确定GPIO编号</a></li><li class="active"><a href="https://blog.csdn.net/u013171226/article/details/132686757#t11">6.4.2 导出、设置方向、读写值</a></li></ol></li></ol></li><li class=""><a href="https://blog.csdn.net/u013171226/article/details/132686757#t12">7 费曼学习法：于是我录制了一个讲解gpio子系统的学习视频</a></li><li class=""><a href="https://blog.csdn.net/u013171226/article/details/132686757#t13">8 基于pinctrl子系统和gpio子系统的LED驱动程序</a></li><li class="sub-box"><ol><li class=""><a href="https://blog.csdn.net/u013171226/article/details/132686757#t14">8.1 查看原理图确定引脚</a></li><li class=""><a href="https://blog.csdn.net/u013171226/article/details/132686757#t15">8.2 修改设备树文件</a></li><li class="sub-box"><ol><li class=""><a href="https://blog.csdn.net/u013171226/article/details/132686757#t16">8.2.1 设备树中增加pinctrl信息</a></li><li class=""><a href="https://blog.csdn.net/u013171226/article/details/132686757#t17">8.2.2 设备中增加led节点信息</a></li></ol></li><li><a href="https://blog.csdn.net/u013171226/article/details/132686757#t18">8.3 编写代码</a></li><li class="sub-box"><ol><li class=""><a href="https://blog.csdn.net/u013171226/article/details/132686757#t19">8.3.1驱动程序leddrv.c</a></li><li class=""><a href="https://blog.csdn.net/u013171226/article/details/132686757#t20">8.3.2 测试程序ledtest.c</a></li><li class=""><a href="https://blog.csdn.net/u013171226/article/details/132686757#t21">8.3.3 Makefile</a></li></ol></li><li class=""><a href="https://blog.csdn.net/u013171226/article/details/132686757#t22">8.4 实验</a></li><li class="sub-box"><ol><li class=""><a href="https://blog.csdn.net/u013171226/article/details/132686757#t23">8.4.1 编译设备树文件</a></li><li class=""><a href="https://blog.csdn.net/u013171226/article/details/132686757#t24">8.4.2 编译驱动和测试程序</a></li><li class=""><a href="https://blog.csdn.net/u013171226/article/details/132686757#t25">8.4.3 替换设备树、驱动以及测试程序</a></li></ol></li></ol></li></ol></div>
                        </div>
                    </div>
                </div>
                </div>
            </div>
        </div>
    </aside>
</div>

      </div>
      <div class="mask-dark"></div>
      <div class="skin-boxshadow"></div>
      <div class="directory-boxshadow"></div>
<div class="comment-side-box-shadow comment-side-tit-close" id="commentSideBoxshadow">
<div class="comment-side-content">
	<div class="comment-side-tit">
		<div class="comment-side-tit-count">评论&nbsp;<span class="count">4</span></div>
	<img class="comment-side-tit-close" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/closeBt.png"></div>
	<div id="pcCommentSideBox" class="comment-box comment-box-new2 " style="display:block">
    <div class="comment-edit-box d-flex">
      <div class="user-img">
        <a href="https://blog.csdn.net/2301_77659368" target="_blank">
          <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/6a196f4ac8c34b1197d7bd40c777443a_2301_77659368.jpg!1">
        </a>
      </div>
      <form id="commentform">
        <textarea class="comment-content" name="comment_content" id="comment_content" placeholder="欢迎高质量的评论，低质的评论会被折叠" maxlength="1000"></textarea>
        <div class="comment-reward-box" style="background-image: url(&#39;https://img-home.csdnimg.cn/images/20230131025301.png&#39;);">
          <a class="btn-remove-reward"></a>
          <div class="form-reward-box">
            <div class="info">
              成就一亿技术人!
            </div>
            <div class="price-info">
              拼手气红包<span class="price">6.0元</span>
            </div>
          </div>
        </div>
        <div class="comment-operate-box">
          <div class="comment-operate-l">
            <span id="tip_comment" class="tip">还能输入<em>1000</em>个字符</span>
          </div>
          <div class="comment-operate-c">
            &nbsp;
          </div>
          <div class="comment-operate-r">
            <div class="comment-operate-item comment-reward">
              <img class="comment-operate-img" data-url="https://csdnimg.cn/release/blogv2/dist/pc/img/" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/commentReward.png" alt="红包">
              <span class="comment-operate-tip">添加红包</span>
            </div>
            <div class="comment-operate-item comment-emoticon">
              <img class="comment-operate-img" data-url="https://csdnimg.cn/release/blogv2/dist/pc/img/" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/commentEmotionIcon.png" alt="表情包">
              <span class="comment-operate-tip">插入表情</span>
              <div class="comment-emoticon-box comment-operate-isshow">
                <div class="comment-emoticon-img-box"></div>
              </div>
            </div>
            <div class="comment-operate-item comment-code">
              <img class="comment-operate-img" data-url="https://csdnimg.cn/release/blogv2/dist/pc/img/" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/commentCodeIcon.png" alt="表情包">
              <span class="comment-operate-tip">代码片</span>
              <div class="comment-code-box comment-operate-isshow">
                <ul id="commentCode">
                  <li><a data-code="html">HTML/XML</a></li>
                  <li><a data-code="objc">objective-c</a></li>
                  <li><a data-code="ruby">Ruby</a></li>
                  <li><a data-code="php">PHP</a></li>
                  <li><a data-code="csharp">C</a></li>
                  <li><a data-code="cpp">C++</a></li>
                  <li><a data-code="javascript">JavaScript</a></li>
                  <li><a data-code="python">Python</a></li>
                  <li><a data-code="java">Java</a></li>
                  <li><a data-code="css">CSS</a></li>
                  <li><a data-code="sql">SQL</a></li>
                  <li><a data-code="plain">其它</a></li>
                </ul>
              </div>
            </div>
            <div class="comment-operate-item">
              <input type="hidden" id="comment_replyId" name="comment_replyId">
              <input type="hidden" id="article_id" name="article_id" value="132686757">
              <input type="hidden" id="comment_userId" name="comment_userId" value="">
              <input type="hidden" id="commentId" name="commentId" value="">
              <a data-report-click="{&quot;mod&quot;:&quot;1582594662_003&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4227&quot;,&quot;ab&quot;:&quot;new&quot;}">
              <input type="submit" class="btn-comment btn-comment-input" value="评论">
              </a>
            </div>
          </div>
        </div>
      </form>
    </div>
		<div class="comment-list-container">
			<div class="comment-list-box comment-operate-item">
			<ul class="comment-list"><li class="comment-line-box " data-commentid="34528923" data-replyname="lj250668420">            <div class="comment-list-item">                <a class="comment-list-href" target="_blank" href="https://blog.csdn.net/lj250668420"><img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/4cd694fd041d4372aa84ec63f754b205_lj250668420.jpg!1" username="lj250668420" alt="lj250668420" class="avatar"></a>                <div class="right-box ">                    <div class="new-info-box clearfix"><div class="comment-top"><div class="user-box"><a class="name-href" target="_blank" href="https://blog.csdn.net/lj250668420"> <span class="name ">奔跑的枕头</span></a> <span class="date" title="2024-09-19 08:56:13">2024.09.19</span><div class="opt-comment"><a class="btn-bt  btn-report"><img class="btn-report-img" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/commentLookMore.png" title=""><div class="hide-box"><span data-type="report" class="hide-item hide-report"> 举报</span></div></a><img class="comment_img_replay" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/newCommentReplyWhite.png"><a class="btn-bt btn-reply" data-type="reply" data-flag="true">回复</a></div></div><div class="comment-like " data-commentid="34528923"><span></span><img class="comment-like-img unclickImg" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/commentLikeWhite.png" title="点赞"><img class="comment-like-img comment-like-img-hover" style="display:none" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/commentLikeHover.png" title="点赞"><img class="comment-like-img clickedImg" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/commentLikeActive.png" title="取消点赞"></div></div><div class="comment-center"><div class="new-comment">感谢大佬高质量的文章</div></div></div></div></div></li></ul><ul class="comment-list"><li class="comment-line-box " data-commentid="29109822" data-replyname="ooss888">            <div class="comment-list-item">                <a class="comment-list-href" target="_blank" href="https://blog.csdn.net/ooss888"><img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/53704cdd1f25434f8b02c7b45733bbb6_ooss888.jpg!1" username="ooss888" alt="ooss888" class="avatar"></a>                <div class="right-box ">                    <div class="new-info-box clearfix"><div class="comment-top"><div class="user-box"><a class="name-href" target="_blank" href="https://blog.csdn.net/ooss888"> <span class="name ">EXU7</span></a> <span class="date" title="2023-10-08 14:49:14">2023.10.08</span><div class="opt-comment"><a class="btn-bt  btn-report"><img class="btn-report-img" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/commentLookMore.png" title=""><div class="hide-box"><span data-type="report" class="hide-item hide-report"> 举报</span></div></a><img class="comment_img_replay" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/newCommentReplyWhite.png"><a class="btn-bt btn-reply" data-type="reply" data-flag="true">回复</a></div></div><div class="comment-like " data-commentid="29109822"><span></span><img class="comment-like-img unclickImg" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/commentLikeWhite.png" title="点赞"><img class="comment-like-img comment-like-img-hover" style="display:none" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/commentLikeHover.png" title="点赞"><img class="comment-like-img clickedImg" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/commentLikeActive.png" title="取消点赞"></div></div><div class="comment-center"><div class="new-comment">博主你好，图能不能私发一下，这些放大看不清</div></div></div></div></div></li><li class="replay-box" style="display:block"><ul class="comment-list"><li class="comment-line-box comment-line-box-hide" data-commentid="29123201" data-replyname="ooss888">            <div class="comment-list-item">                <a class="comment-list-href" target="_blank" href="https://blog.csdn.net/ooss888"><img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/53704cdd1f25434f8b02c7b45733bbb6_ooss888.jpg!1" username="ooss888" alt="ooss888" class="avatar"></a>                <div class="right-box ">                    <div class="new-info-box clearfix"><div class="comment-top"><div class="user-box"><a class="name-href" target="_blank" href="https://blog.csdn.net/ooss888"> <span class="name mr-8">EXU7</span></a> <span class="text">回复</span> <span class="nick-name"> 陈 洪 伟</span><span class="date" title="2023-10-09 09:09:11">2023.10.09</span><div class="opt-comment"><a class="btn-bt  btn-report"><img class="btn-report-img" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/commentLookMore.png" title=""><div class="hide-box"><span data-type="report" class="hide-item hide-report"> 举报</span></div></a><img class="comment_img_replay" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/newCommentReplyWhite.png"><a class="btn-bt btn-reply" data-type="reply" data-flag="true">回复</a></div></div><div class="comment-like " data-commentid="29123201"><span></span><img class="comment-like-img unclickImg" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/commentLikeWhite.png" title="点赞"><img class="comment-like-img comment-like-img-hover" style="display:none" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/commentLikeHover.png" title="点赞"><img class="comment-like-img clickedImg" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/commentLikeActive.png" title="取消点赞"></div></div><div class="comment-center"><div class="new-comment">好的，谢谢</div></div></div></div></div></li><li class="comment-line-box comment-line-box-hide" data-commentid="29109849" data-replyname="u013171226">            <div class="comment-list-item">                <a class="comment-list-href" target="_blank" href="https://blog.csdn.net/u013171226"><img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/4961dde5f7d6439995a648b3047e6d02_u013171226.jpg!1" username="u013171226" alt="u013171226" class="avatar"></a>                <div class="right-box ">                    <div class="new-info-box clearfix"><div class="comment-top"><div class="user-box"><a class="name-href" target="_blank" href="https://blog.csdn.net/u013171226"> <span class="name mr-8">陈 洪 伟</span><span class="is_bloger comment_status_tip">作者</span></a> <span class="text">回复</span> <span class="nick-name"> EXU7</span><span class="date" title="2023-10-08 14:50:53">2023.10.08</span><div class="opt-comment"><a class="btn-bt  btn-report"><img class="btn-report-img" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/commentLookMore.png" title=""><div class="hide-box"><span data-type="report" class="hide-item hide-report"> 举报</span></div></a><img class="comment_img_replay" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/newCommentReplyWhite.png"><a class="btn-bt btn-reply" data-type="reply" data-flag="true">回复</a></div></div><div class="comment-like " data-commentid="29109849"><span></span><img class="comment-like-img unclickImg" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/commentLikeWhite.png" title="点赞"><img class="comment-like-img comment-like-img-hover" style="display:none" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/commentLikeHover.png" title="点赞"><img class="comment-like-img clickedImg" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/commentLikeActive.png" title="取消点赞"></div></div><div class="comment-center"><div class="new-comment">右键--图片另存为，然后放大就能看清楚了。</div></div></div></div></div></li><div class="second-look-more">查看全部 2 条回复<img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/commentArrowDownWhite.png"></div></ul></li></ul></div>
			<div id="lookGoodComment" class="look-good-comment side-look-comment" style="display: none;">
				<a class="look-more-comment">查看更多评论<img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/commentArrowDownWhite.png" alt=""></a>
			</div>
			<div id="lookFlodComment" class="look-flod-comment" style="display: none;">
					<span class="count">0</span>&nbsp;条评论被折叠&nbsp;<a class="look-more-flodcomment">查看</a>
			</div>
			
		</div>
	</div>
	<div id="pcFlodCommentSideBox" class="pc-flodcomment-sidebox">
		<div class="comment-fold-tit"><span id="lookUnFlodComment" class="back"><img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/commentArrowLeftWhite.png" alt=""></span>被折叠的&nbsp;<span class="count">0</span>&nbsp;条评论
		 <a href="https://blogdev.blog.csdn.net/article/details/122245662" class="tip" target="_blank">为什么被折叠?</a>
		 <a href="https://bbs.csdn.net/forums/FreeZone" class="park" target="_blank">
		 <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/iconPark.png">到【灌水乐园】发言</a>                                
		</div>
		<div class="comment-fold-content"></div>
		<div id="lookBadComment" class="look-bad-comment side-look-comment">
			<a class="look-more-comment">查看更多评论<img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/commentArrowDownWhite.png" alt=""></a>
		</div>
	</div>
</div>
<div class="comment-rewarddialog-box">
  <div class="form-box">
    <div class="title-box">
      添加红包
      <a class="btn-form-close"></a>
    </div>
    <form id="commentRewardForm">
      <div class="ipt-box">
        <label for="txtName">祝福语</label>
        <div class="ipt-btn-box">
          <input type="text" name="name" id="txtName" autocomplete="off" maxlength="50">
          <a class="btn-ipt btn-random"></a>
        </div>
        <p class="notice">请填写红包祝福语或标题</p>
      </div>
      <div class="ipt-box">
        <label for="txtSendAmount">红包数量</label>
        <div class="ipt-txt-box">
          <input type="text" name="sendAmount" maxlength="4" id="txtSendAmount" placeholder="请填写红包数量(最小10个)" autocomplete="off">
          <span class="after-txt">个</span>
        </div>
        <p class="notice">红包个数最小为10个</p>
      </div>
      <div class="ipt-box">
        <label for="txtMoney">红包总金额</label>
        <div class="ipt-txt-box error">
          <input type="text" name="money" maxlength="5" id="txtMoney" placeholder="请填写总金额(最低5元)" autocomplete="off">
          <span class="after-txt">元</span>
        </div>
        <p class="notice">红包金额最低5元</p>
      </div>
      <div class="balance-info-box">
        <label>余额支付</label>
        <div class="balance-info">
          当前余额<span class="balance">3.43</span>元
          <a href="https://i.csdn.net/#/wallet/balance/recharge" class="link-charge" target="_blank">前往充值 &gt;</a>
        </div>
      </div>
      <div class="opt-box">
        <div class="pay-info">
          需支付：<span class="price">10.00</span>元
        </div>
        <button type="button" class="ml-auto btn-cancel">取消</button>
        <button type="button" class="ml8 btn-submit" disabled="true">确定</button>
      </div>
    </form>
  </div>
</div>

</div>

<div class="redEnvolope" id="redEnvolope">
  <div class="env-box">
    <div class="env-container">
      <div class="pre-open" id="preOpen">
        <div class="top" style="background-image: url(&quot;https://img-home.csdnimg.cn/images/20230131025150.png&quot;);">
          <header>
            <img class="clearTpaErr" :src="redpacketAuthor.avatar" alt="">
            <div class="author">成就一亿技术人!</div>
          </header>
          <div class="bot-icon"></div>
        </div>
        <footer style="background-image: url(&quot;https://img-home.csdnimg.cn/images/20230131025228.png&quot;);">
          <div class="red-openbtn open-start" style="background-image: url(&quot;https://img-home.csdnimg.cn/images/20230131025209.png&quot;);"></div>
          <div class="tip">
            领取后你会自动成为博主和红包主的粉丝
            <a class="rule" target="_blank" href="https://blogdev.blog.csdn.net/article/details/128932621">规则</a>
          </div>
        </footer>
      </div>
      <div class="opened" id="opened">
        <div class="bot-icon">
          <header>
            <a class="creatorUrl" href="https://blog.csdn.net/u013171226/article/details/132686757" target="_blank">
              <img class="clearTpaErr" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/default.jpg!2" alt="">
            </a>
            <div class="author">
              <div class="tt">hope_wisdom</div> 发出的红包
            </div>
          </header>
        </div>
        <div class="receive-box">
          <header></header>
          <div class="receive-list">
          </div>
        </div>
      </div>
    </div>
    <div class="close-btn"></div>
  </div>
</div>
<div id="rewardNew" class="reward-popupbox-new">
	<p class="rewad-title">打赏作者<span class="reward-close"><img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/closeBt.png"></span></p>
	<dl class="profile-box">
		<dd>
		<a href="https://cumtchw.blog.csdn.net/" data-report-click="{&quot;mod&quot;:&quot;popu_379&quot;,&quot;dest&quot;:&quot;https://cumtchw.blog.csdn.net&quot;,&quot;ab&quot;:&quot;new&quot;}">
			<img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/4961dde5f7d6439995a648b3047e6d02_u013171226.jpg!1" class="avatar_pic">
		</a>
		</dd>
		<dt>
			<p class="blog-name">陈 洪 伟</p>
			<p class="blog-discript">你的鼓励将是我创作的最大动力</p>
		</dt>
	</dl>
	<div class="reward-box-new">
			<div class="reward-content"><div class="reward-right"></div></div>
	</div>
	<div class="money-box">
    <span class="choose-money choosed" data-id="1">¥1</span>
    <span class="choose-money " data-id="2">¥2</span>
    <span class="choose-money " data-id="4">¥4</span>
    <span class="choose-money " data-id="6">¥6</span>
    <span class="choose-money " data-id="10">¥10</span>
    <span class="choose-money " data-id="20">¥20</span>
	</div>
	<div class="sure-box">
		<div class="sure-box-money">
			<div class="code-box">
				<div class="code-num-box">
					<span class="code-name">扫码支付：</span><span class="code-num">¥1</span>
				</div>
				<div class="code-img-box">
					<div class="renovate">
					<img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/pay-time-out.png">
					<span>获取中</span>
					</div>
				</div>
				<div class="code-pay-box">
					<img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/newWeiXin.png" alt="">
					<img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/newZhiFuBao.png" alt="">
					<span>扫码支付</span>
				</div>
			</div>
		</div>
		<div class="sure-box-blance">
			<p class="tip">您的余额不足，请更换扫码支付或<a target="_blank" data-report-click="{&quot;mod&quot;:&quot;1597646289_003&quot;,&quot;spm&quot;:&quot;1001.2101.3001.4302&quot;}" href="https://i.csdn.net/#/wallet/balance/recharge?utm_source=RewardVip" class="go-invest">充值</a></p>
			<p class="is-have-money"><a class="reward-sure">打赏作者</a></p>
		</div>
	</div>
</div>
      
      <div class="pay-code">
      <div class="pay-money">实付<span class="pay-money-span" data-nowprice="" data-oldprice="">元</span></div>
      <div class="content-blance"><a class="blance-bt" href="javascript:;">使用余额支付</a></div>
      <div class="content-code">
        <div id="payCode" data-id="">
          <div class="renovate">
            <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/pay-time-out.png">
            <span>点击重新获取</span>
          </div>
        </div>
        <div class="pay-style"><span><img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/weixin.png"></span><span><img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/zhifubao.png"></span><span><img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/jingdong.png"></span><span class="text">扫码支付</span></div>
      </div>
      <div class="bt-close">
        <svg t="1567152543821" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="10924" xmlns:xlink="http://www.w3.org/1999/xlink" width="12" height="12">
          <defs>
            <style type="text/css"></style>
          </defs>
          <path d="M512 438.378667L806.506667 143.893333a52.032 52.032 0 1 1 73.6 73.621334L585.621333 512l294.485334 294.485333a52.074667 52.074667 0 0 1-73.6 73.642667L512 585.621333 217.514667 880.128a52.053333 52.053333 0 1 1-73.621334-73.642667L438.378667 512 143.893333 217.514667a52.053333 52.053333 0 1 1 73.621334-73.621334L512 438.378667z" fill="" p-id="10925"></path>
        </svg>
      </div>
      <div class="pay-balance">
        <input type="radio" class="pay-code-radio" data-type="details">
        <span class="span">钱包余额</span>
          <span class="balance" style="color:#FC5531;font-size:14px;">0</span>
          <div class="pay-code-tile">
            <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/pay-help.png" alt="">
            <div class="pay-code-content">
              <div class="span">
                <p class="title">抵扣说明：</p>
                <p> 1.余额是钱包充值的虚拟货币，按照1:1的比例进行支付金额的抵扣。<br> 2.余额无法直接购买下载，可以购买VIP、付费专栏及课程。</p>
              </div>
            </div>
          </div>
      </div>
      <a class="pay-balance-con" href="https://i.csdn.net/#/wallet/balance/recharge" target="_blank"><img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/recharge.png" alt=""><span>余额充值</span></a>
    </div>
    <div style="display:none;">
      <img src="https://blog.csdn.net/u013171226/article/details/132686757" onerror="setTimeout(function(){if(!/(csdn.net|iteye.com|baiducontent.com|googleusercontent.com|360webcache.com|sogoucdn.com|bingj.com|baidu.com)$/.test(window.location.hostname)){window.location.href=&quot;\x68\x74\x74\x70\x73\x3a\x2f\x2f\x77\x77\x77\x2e\x63\x73\x64\x6e\x2e\x6e\x65\x74&quot;}},3000);">
    </div>
    <div class="keyword-dec-box" id="keywordDecBox"></div>
  
    
    <link rel="stylesheet" href="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/chart.css">
    <script type="text/javascript" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/chart.min.js.下载"></script>
    <script type="text/javascript" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/widget2chart.js.下载"></script>
  <script src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/axios-83fa28cedf.min.js.下载" type="text/javascript"></script>
  <script src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/pc_wap_highlight-8defd55d6e.min.js.下载" type="text/javascript"></script>
  <script src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/pc_wap_common-3b5f0393dc.min.js.下载" type="text/javascript"></script>
  <script src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/edit_copy_code-3d1af13f20.min.js.下载" type="text/javascript"></script>
  <script src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/embed-editor.min.js.下载" type="text/javascript"></script>
  <link rel="stylesheet" href="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/embed-editor.min.css">
  <link rel="stylesheet" href="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/atom-one-dark.css">
  <script src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/user-accusation.js.下载" type="text/javascript"></script>
  <script>
    // 全局声明
    if (window.csdn === undefined) {
      window.csdn = {};
    }
    var sideToolbarOpt = {}

    $(function() {
      $(document).on('click', "#toolReportBtnHideNormal,#toolReportBtnHide", function() {
        window.csdn.loginBox.key({
          biz: 'blog',
          subBiz: 'other_service',
          cb: function() {
            window.csdn.feedback({
              "type": 'blog',
              "rtype": 'article',
              "rid": articleId,
              "reportedName": username,
              "submitOptions": {
                "title": articleTitle,
                "contentUrl": articleDetailUrl
              },
              "callback": function() {
                showToast({
                  text: "感谢您的举报，我们会尽快审核！",
                  bottom: '10%',
                  zindex: 9000,
                  speed: 500,
                  time: 1500
                })
              }
            })
          }
        })
      });
    })
      window.csdn.sideToolbar = {
        options: {
          ...sideToolbarOpt,
          theme: 'white',
        }
      }
  </script>
    <script src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/baidu-search.js.下载" type="text/javascript"></script>
  <script src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/qrcode.js.下载"></script>
  <script src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/qrcode.min.js.下载"></script>
  <script src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/user-ordercart.js.下载" type="text/javascript"></script>
  <script src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/user-ordertip.js.下载" type="text/javascript"></script>
  <script src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/order-payment.js.下载" type="text/javascript"></script>
  <script src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/common-20500becfb.min.js.下载" type="text/javascript"></script>
  <script src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/detail-0c71b4a225.min.js.下载" type="text/javascript"></script><div id="c_chat" data-v-app=""><div id="chat-pro" class="chat-wrapper simple" title="AI学习助手" darkmode="false" simplemode="true"><!----><!----><div class="el-overlay chat-drawer" style="z-index: 2001; display: none;"><div aria-modal="true" aria-labelledby="el-id-8656-0" aria-describedby="el-id-8656-1" class="chat-drawer el-drawer rtl" role="dialog" style="width: 65%;"><span class="el-drawer__sr-focus" tabindex="-1"></span><!--v-if--><!--v-if--><!--v-if--></div></div></div></div>
  <script src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/column-fc546048d8.min.js.下载" type="text/javascript"></script>
    <script src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/side-toolbar.js.下载" type="text/javascript"></script>
  <script src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/copyright.js.下载" type="text/javascript"></script>
  <script>
    $(".MathJax").remove();
    if ($('div.markdown_views pre.prettyprint code.hljs').length > 0) {
      $('div.markdown_views')[0].className = 'markdown_views';
    }
  </script>
  <script type="text/javascript" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/MathJax.js.下载"></script>
  <script type="text/x-mathjax-config;executed=true">
    MathJax.Hub.Config({
      "HTML-CSS": {
        linebreaks: { automatic: true, width: "94%container" },
        imageFont: null
      },
      tex2jax: {
      preview: "none",
      ignoreClass:"title-article"
      },
      mml2jax: {
      preview: 'none'
      }
    });
  </script>
<script type="text/javascript" crossorigin="" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/csdn-login-box.js.下载"></script>
<div id="pointDivs"><div class="point-outer point-pre"><div class="point-inner"></div></div><div class="point-outer point-pre"><div class="point-inner"></div></div><div class="point-outer point-pre"><div class="point-inner"></div></div><div class="point-outer point-pre"><div class="point-inner"></div></div><div class="point-outer point-pre"><div class="point-inner"></div></div></div><div id="st_mask" onclick="closeMask()" style="width: 100%; height: 100%; background: rgba(0, 0, 0, 0.4); position: fixed; left: 0px; top: 0px; display: none; z-index: 1;"></div><div id="st_confirmBox" style="width: 360px; position: fixed; text-align: left; display: none; z-index: 100; inset: 0px; height: 208px; margin: auto;"><div id="st_confirm" style="background: rgb(255, 255, 255); border-radius: 4px; overflow: hidden; padding: 24px; width: 360px; height: 208px;"><span id="st_confirm_tit" style="width: 100%; max-height: 24px; font-size: 18px; font-weight: 500; color: rgb(34, 34, 38); line-height: 24px; text-align: left; display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;"></span><span id="st_confirm_text" style="text-align: left; height: 44px; font-size: 14px; font-weight: 400; color: rgb(85, 86, 102); line-height: 22px; overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; text-overflow: ellipsis; -webkit-line-clamp: 2; margin-top: 16px; margin-bottom: 40px;"></span><span class="st_confirm_btn success" style="background: rgb(252, 85, 51); color: rgb(255, 255, 255); text-align: center; display: block; width: 88px; height: 36px; line-height: 36px; margin-left: 16px; float: right; border-radius: 18px;">确定</span><span class="st_confirm_btn cancel" style="color: rgb(34, 34, 38); text-align: center; display: block; width: 88px; height: 36px; line-height: 36px; margin-left: 16px; float: right; box-sizing: border-box; border: 1px solid rgb(204, 204, 216); border-radius: 18px;">取消</span><span id="st_confirm_close" style="display: block; width: 12px; height: 12px; position: absolute; text-align: center; z-index: 100; top: 24px; right: 24px;"><img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/closeBt.png" style="display: block; width: 12px; height: 12px;"></span><div style="clear: both; display: block;"></div></div></div><div id="st_alertBox" style="width: 100%; position: fixed; left: 0px; top: 34%; text-align: center; display: none; z-index: 2;"><div id="st_alert" style="width: 80%; margin: 0px auto; background: rgb(255, 255, 255); border-radius: 2px; overflow: hidden; padding-top: 20px; text-align: center;"><span id="st_alert_text" style="background: rgb(255, 255, 255); overflow: hidden; padding: 15px 8px 30px; text-align: center; display: block;"></span><span id="st_alert_btn" onclick="closeMask()" style="background: rgb(27, 121, 248); color: rgb(255, 255, 255); padding: 8px; text-align: center; display: block; width: 72%; margin: 0px auto 20px; border-radius: 2px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;"></span></div></div><div id="st_toastBox" style="width: 100%; position: fixed; left: 0px; bottom: 10%; text-align: center; display: none;"><span id="st_toastContent" style="color: rgb(255, 255, 255); background: rgba(0, 0, 0, 0.8); padding: 8px 24px; border-radius: 4px; max-width: 80%; display: inline-block; font-size: 16px;"></span></div> <div class="report-box">  <div class="pos-boxer">      <div class="pos-content">          <div class="box-title">              <p>举报</p>              <img class="icon btn-close" src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/closeBlack.png">          </div>          <div class="box-header">              <div class="box-top"><span>选择你想要举报的内容（必选）</span></div>              <div class="box-botoom">                  <ul>                      <li data="1" type="nei">内容涉黄</li>                      <li data="2" type="nei">政治相关</li>                      <li data="3" type="nei">内容抄袭</li>                      <li data="4" type="nei">涉嫌广告</li>                      <li data="5" type="nei">内容侵权</li>                      <li data="6" type="nei">侮辱谩骂</li>                      <li data="8" type="nei">样式问题</li>                      <li data="7" type="nei">其他</li>                  </ul>              </div>          </div>          <div>          <div class="box-content">          </div>          <div class="box-content">          </div>                    <div class="box-content" style="display:none;">                  <div class="box-content-top">                          <span>原文链接（必填）</span>                      </div>                      <div class="box-content-bottom" style="padding-bottom: 16px;">                        <div class="box-input" style="height: 32px;line-height: 32px;">                        <input class="content-input" type="text" id="originalurl" name="originalurl" placeholder="请输入被侵权原文链接">                        </div>                      </div>          </div>          <div class="box-content">          </div>          <div class="box-content" style="display:none;">                  <div class="box-content-top">                          <span>请选择具体原因（必选）</span>                      </div>                  <div class="box-content-bottom">                          <ul>                              <li sub_type="1">包含不实信息</li>                              <li sub_type="2">涉及个人隐私</li>                          </ul>                      </div>          </div>          <div class="box-content" style="display:none;">                  <div class="box-content-top">                          <span>请选择具体原因（必选）</span>                      </div>                  <div class="box-content-bottom">                          <ul>                              <li sub_type="1">侮辱谩骂</li>                              <li sub_type="2">诽谤</li>                          </ul>                  </div>          </div>          <div class="box-content" style="display:none;">                <div class="box-content-top">                        <span>请选择具体原因（必选）</span>                    </div>                <div class="box-content-bottom">                        <ul>                            <li sub_type="1">搬家样式</li>                            <li sub_type="2">博文样式</li>                        </ul>                </div>          </div>          <div class="box-content" style="display:none;">          </div>          </div>            <div id="cllcont" style="display:none;">            <div class="box-content-top">              <span class="box-content-span">补充说明（选填）</span>            </div>                <div class="box-content-bottom">                  <div class="box-input">                    <textarea class="ipt ipt-textarea" style="padding:0;" name="description" placeholder="请详细描述您的举报内容"></textarea>                  </div>                </div>            </div>            </div>      <div class="pos-footer">          <p class="btn-close">取消</p>          <p class="box-active">确定</p>      </div>  </div></div><div>
  <div class="csdn-side-toolbar " style="left: 1777.5px;"><a href="https://ai.csdn.net/?utm_source=cknow_pc_blogdetail&amp;spm=1001.2101.3001.10583" id="sidecolumn-deepseek" class="option-box sidecolumn sidecolumn-deepseek" data-type="show" data-report-click="{&quot;spm&quot;:&quot;3001.10583&quot;}">        <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/Group.png" alt="" srcset="">        <span class="show-txt">点击体验<br>DeepSeekR1满血版</span>      </a><a class="option-box sidecolumn sidecolumn-show" data-type="show" style="display:none" data-report-click="{&quot;spm&quot;:&quot;3001.10370&quot;,&quot;extra&quot;:{&quot;type&quot;:&quot;unfull&quot;}}">        <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/unfull.png" alt="" srcset="">        <span class="show-txt">显示侧栏</span>      </a><a class="option-box sidecolumn sidecolumn-hide" data-type="hide" style="display:flex" data-report-click="{&quot;spm&quot;:&quot;3001.10370&quot;,&quot;extra&quot;:{&quot;type&quot;:&quot;full&quot;}}">        <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/full.png" alt="" srcset="">        <span class="show-txt">隐藏侧栏</span>      </a>
    
    <a class="option-box styleab no—h" data-type="app">
      <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/mobile.png" alt="" srcset="">
      <div class="app-qr-box">
        <div class="bg-box">
          
      <div class="tab-pane">
        <input type="radio" checked="" name="tab" id="tab0">
        <label class="tab-item" for="tab0" data-report-click="{&quot;spm&quot;:&quot;3001.10368&quot;,&quot;extra&quot;:{&quot;index&quot;:0,&quot;version&quot;:&quot;3.6&quot;}}">下载APP</label>
        <div class="tab-content">
          <div class="img-box"><img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/qr_app.png" alt="程序员都在用的中文IT技术交流社区"></div>
          <p class="desc">程序员都在用的中文IT技术交流社区</p>
        </div>
      </div>
      
      <div class="tab-pane">
        <input type="radio" name="tab" id="tab1">
        <label class="tab-item" for="tab1" data-report-click="{&quot;spm&quot;:&quot;3001.10368&quot;,&quot;extra&quot;:{&quot;index&quot;:1,&quot;version&quot;:&quot;3.6&quot;}}">公众号</label>
        <div class="tab-content">
          <div class="img-box"><img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/qr_wechat.png" alt="专业的中文 IT 技术社区，与千万技术人共成长"></div>
          <p class="desc">专业的中文 IT 技术社区，与千万技术人共成长</p>
        </div>
      </div>
      
      <div class="tab-pane">
        <input type="radio" name="tab" id="tab2">
        <label class="tab-item" for="tab2" data-report-click="{&quot;spm&quot;:&quot;3001.10368&quot;,&quot;extra&quot;:{&quot;index&quot;:2,&quot;version&quot;:&quot;3.6&quot;}}">视频号</label>
        <div class="tab-content">
          <div class="img-box"><img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/qr_video.png" alt="关注【CSDN】视频号，行业资讯、技术分享精彩不断，直播好礼送不停！"></div>
          <p class="desc">关注【CSDN】视频号，行业资讯、技术分享精彩不断，直播好礼送不停！</p>
        </div>
      </div>
      
        </div>
      </div>
    </a>
    
    
    <a class="option-box styleab" data-report-click="{&quot;spm&quot;:&quot;3001.10368&quot;,&quot;extra&quot;:{&quot;version&quot;:&quot;3.6&quot;}}" data-type="cs">
      <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/customer.png" alt="" srcset="">
      <span class="show-txt">客服</span>
    </a>
    
    
    <a class="option-box styleab" data-report-click="{&quot;spm&quot;:&quot;3001.10369&quot;,&quot;extra&quot;:{&quot;version&quot;:&quot;3.6&quot;}}" data-type="gotop">
      <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/totop.png" alt="" srcset="">
      <span class="show-txt">返回顶部</span>
    </a>
    
  </div>
  </div><svg aria-hidden="true" style="position: absolute; width: 0px; height: 0px; overflow: hidden;"><symbol id="sousuo" viewBox="0 0 1024 1024"><path d="M719.6779726 653.55865555l0.71080936 0.70145709 191.77828505 191.77828506c18.25658185 18.25658185 18.25658185 47.86273439 0 66.12399318-18.26593493 18.26125798-47.87208744 18.26125798-66.13334544 0l-191.77828505-191.77828506c-0.2338193-0.2338193-0.4676378-0.4676378-0.69678097-0.71081014-58.13206223 44.25257003-130.69075187 70.51978897-209.38952657 70.51978894C253.06424184 790.19776156 98.14049639 635.27869225 98.14049639 444.17380511S253.06424184 98.14049639 444.16912898 98.14049639c191.10488633 0 346.02863258 154.92374545 346.02863259 346.02863259 0 78.6987747-26.27189505 151.25746514-70.51978897 209.38952657z m-275.50884362 43.11621045c139.45428506 0 252.50573702-113.05145197 252.50573702-252.50573702s-113.05145197-252.50573702-252.50573702-252.50573783-252.50573702 113.05145197-252.50573783 252.50573783 113.05145197 252.50573702 252.50573783 252.50573702z"></path></symbol><symbol id="gonggong_csdnlogo_" viewBox="0 0 4096 1024"><path d="M1234.16069807 690.46341551c62.96962316 23.02318413 194.30703694 45.91141406 300.51598128 45.91141406 114.44114969 0 178.13952547-31.68724287 183.2407937-80.86454822 4.642424-44.8587714-42.21366937-50.93170978-171.44579784-81.53931916-178.57137886-43.77913792-292.49970264-111.55313011-281.32549604-219.86735976 12.9825927-125.75031047 181.27046257-220.78504823 439.49180199-220.78504822 125.88526465 0 247.93783044 8.87998544 311.17736197 29.60894839l-21.7006331 158.57116851c-41.05306337-14.27815288-198.1937175-34.11641822-304.48363435-34.11641822-107.7744129 0-163.56447339 33.90049151-167.42416309 71.06687432-4.85835069 47.04502922 51.14763648 49.23128703 191.14910897 86.50563321 189.58364043 48.09767188 272.47250144 115.81768239 261.6221849 220.81203906-12.71268432 123.51007099-164.13128096 228.53141851-466.48263918 228.53141851-125.85827383 0-234.33444849-22.96920244-294.09216204-45.93840492l19.730302-157.86940672zM3010.8325562 172.75216735c688.40130256-129.79893606 747.80813523 103.42888812 726.53935551 309.80082928l-40.08139323 381.78539207h-218.51781789l36.57258439-348.20879061c7.90831529-76.68096846 57.13960232-226.66905073-180.54170997-221.05495659-82.26807176 1.99732195-123.05122675 13.2794919-123.05122677 13.27949188s-7.15257186 92.65954408-15.81663059 161.13529804l-41.43093509 394.84895728h-214.3072473l42.53755943-389.15389062 28.09746151-302.43233073z m-869.48282929-18.05687008c49.12332368-5.34418577 124.58970448-10.76934404 228.45044598-10.76934405 173.38913812 0 313.57954648 30.17575597 400.38207891 93.63121421 77.94953781 59.16391512 129.82592689 154.95439631 115.4668015 293.74128117-13.25250106 129.15115596-80.405704 219.57046055-178.16651631 275.4954752-89.44763445 52.74009587-202.16137055 75.27744492-371.66382812 75.27744493-99.94707012 0-195.27870708-5.39816743-267.77609576-16.14052064L2141.37671774 154.69529727z m143.26736381 569.85754561c16.70732823 3.23890047 38.67786969 6.45081009 81.99816339 6.45081009 173.44311979 0 295.7386031-85.23706385 308.01943403-205.07638097 17.84094339-173.2271931-90.63523129-233.79463176-273.39018992-232.74198912-23.67096422 0-56.57279475 0-73.98188473 3.1849188l-42.6725136 428.15565036z" fill="#262626"></path><path d="M1109.8678928 870.30336371c-41.10704503 14.25116203-126.26313639 23.96786342-245.23874671 23.96786342-342.13585224 0-526.8071603-160.59548129-504.97157302-372.90540663C385.78470347 268.40769434 659.36382925 126.08500985 958.9081404 126.08500985c116.00661824 0 184.32042718 9.33882968 248.31570215 24.99351522l-20.5400271 170.42014604c-42.56455024-14.33213455-142.32268451-27.50366309-223.07926938-27.50366311-176.25016686 0-325.94134993 52.49717834-343.10752238 218.57179958-15.30380469 148.50358623 89.7715245 219.48948804 288.04621451 219.48948804 69.0155707 0 170.77102691-9.8786464 217.81605614-24.15679928l-16.49140154 162.40386737z" fill="#CA0C16"></path></symbol><symbol id="gonggong_csdnlogodanse_" viewBox="0 0 4096 1024"><path d="M1229.41995733 690.46341551c62.96962316 23.02318413 194.30703694 45.91141406 300.51598128 45.91141406 114.44114969 0 178.13952547-31.68724287 183.2407937-80.86454822 4.642424-44.8587714-42.21366937-50.93170978-171.44579784-81.53931916-178.57137886-43.77913792-292.49970264-111.55313011-281.32549604-219.86735976 12.9825927-125.75031047 181.27046257-220.78504823 439.49180199-220.78504822 125.88526465 0 247.93783044 8.87998544 311.17736197 29.60894839l-21.7006331 158.57116851c-41.05306337-14.27815288-198.1937175-34.11641822-304.48363435-34.11641822-107.7744129 0-163.56447339 33.90049151-167.42416309 71.06687432-4.85835069 47.04502922 51.14763648 49.23128703 191.14910897 86.50563321 189.58364043 48.09767188 272.47250144 115.81768239 261.6221849 220.81203906-12.71268432 123.51007099-164.13128096 228.53141851-466.48263918 228.53141851-125.85827383 0-234.33444849-22.96920244-294.09216204-45.93840492l19.730302-157.86940672zM3006.09181546 172.75216735c688.40130256-129.79893606 747.80813523 103.42888812 726.53935551 309.80082928l-40.08139323 381.78539207h-218.51781789l36.57258439-348.20879061c7.90831529-76.68096846 57.13960232-226.66905073-180.54170997-221.05495659-82.26807176 1.99732195-123.05122675 13.2794919-123.05122677 13.27949188s-7.15257186 92.65954408-15.81663059 161.13529804l-41.43093509 394.84895728h-214.3072473l42.53755943-389.15389062 28.09746151-302.43233073z m-869.48282929-18.05687008c49.12332368-5.34418577 124.58970448-10.76934404 228.45044598-10.76934405 173.38913812 0 313.57954648 30.17575597 400.38207891 93.63121421 77.94953781 59.16391512 129.82592689 154.95439631 115.4668015 293.74128117-13.25250106 129.15115596-80.405704 219.57046055-178.16651631 275.4954752-89.44763445 52.74009587-202.16137055 75.27744492-371.66382812 75.27744493-99.94707012 0-195.27870708-5.39816743-267.77609576-16.14052064L2136.635977 154.69529727z m143.26736381 569.85754561c16.70732823 3.23890047 38.67786969 6.45081009 81.99816339 6.45081009 173.44311979 0 295.7386031-85.23706385 308.01943403-205.07638097 17.84094339-173.2271931-90.63523129-233.79463176-273.39018992-232.74198912-23.67096422 0-56.57279475 0-73.98188473 3.1849188l-42.6725136 428.15565036z m-1174.74919792 145.75052083c-41.10704503 14.25116203-126.26313639 23.96786342-245.23874671 23.96786342-342.13585224 0-526.8071603-160.59548129-504.97157303-372.90540663C381.04396273 268.40769434 654.62308851 126.08500985 954.16739966 126.08500985c116.00661824 0 184.32042718 9.33882968 248.31570215 24.99351522l-20.5400271 170.42014604c-42.56455024-14.33213455-142.32268451-27.50366309-223.07926938-27.50366311-176.25016686 0-325.94134993 52.49717834-343.10752238 218.57179958-15.30380469 148.50358623 89.7715245 219.48948804 288.04621451 219.48948804 69.0155707 0 170.77102691-9.8786464 217.81605614-24.15679928l-16.49140154 162.40386737z"></path></symbol><symbol id="xieboke1" viewBox="0 0 1024 1024"><path d="M204.70021457 751.89799169h657.99199211a33.6932867 33.6932867 0 0 1 0 67.33536736H163.68452703a33.53966977 33.53966977 0 0 1-18.74125054-5.68382181c-18.63883902-9.4218307-18.17798882-29.44322156-15.20806401-39.17228615C199.0675982 570.27171976 309.41567149 409.58853908 435.38145354 290.12586836A243.22661203 243.22661203 0 0 1 536.97336934 234.20935065c138.10150976-33.79569759 228.3257813-29.95527721 318.60125827-28.52152054-17.15387692 20.48224105-36.20236071 41.6301547-57.29906892 62.93168529-3.1747472 3.22595323-164.67721739 19.91897936-187.97576692 47.05794871-23.29854894 27.13896932 129.60138005 7.37360691 125.19769798 11.11161576-21.6599699 18.33160576-44.90731339 36.4071831-69.94685287 53.8682939-4.50609297 3.1747472-149.52035944-0.35843931-174.61110436 27.85584737-25.19315641 28.16308124 101.89914903 18.12678338 96.0617103 21.40394206-67.43777825 37.63611797-125.96578207 64.62147036-212.70807253 93.8086635-57.65750823 19.4069231-121.8181284 133.13456658-146.5504346 179.06599187a435.75967738 435.75967738 0 0 0-23.04252112 49.10617311z" fill="#CA0C16"></path></symbol><symbol id="gitchat" viewBox="0 0 1024 1024"><path d="M892.08971773 729.08552746h-108.597062v-162.89559374H403.40293801v-108.59706198h488.68677972v271.49265572z m-651.58237345 54.298531V783.49265572h488.68678045v108.59706201H131.91028227V131.91028227h760.17943546v217.19412473h-108.597062V240.50734428H240.50734428v542.87671418z m542.98531145 0h108.597062v108.59706199h-108.597062v-108.59706199z" fill="#FF9100"></path></symbol><symbol id="toolbar-memberhead" viewBox="0 0 1303 1024"><path d="M1061.51168438 433.79527648A78.51879902 78.51879902 0 1 1 1129.35192643 472.74060007h-1.80593246l-48.05350474 403.97922198c-4.55409058 38.16013652-39.41643684 67.133573-80.79584389 67.13357302H319.35199503c-41.30088817 0-76.00619753-28.81639958-80.717325-66.97653526L189.01078861 472.74060007H187.12633728a78.51879902 78.51879902 0 1 1 67.76172401-38.86680556l193.31328323 119.81968805 158.13686148-336.06046024A78.5973179 78.5973179 0 0 1 658.23913228 80.14660493a78.51879902 78.51879902 0 0 1 51.58685077 137.721974l158.13686147 335.82490362 193.54883986-119.89820607z" fill="#FDD840"></path><path d="M1050.8331274 394.22180104a78.51879902 78.51879902 0 1 1 78.51879903 78.51879903h-1.80593246l-48.05350474 403.97922198c-4.55409058 38.16013652-39.41643684 67.133573-80.79584389 67.13357302H659.02432018C658.47468805 793.25433807 658.23913228 505.32590231 658.23913228 80.14660493a78.51879902 78.51879902 0 0 1 51.58685077 137.721974l158.13686147 335.82490362 193.54883986-119.89820607A78.51879902 78.51879902 0 0 1 1050.8331274 394.22180104z" fill="#FFBE00"></path></symbol><symbol id="toolbar-m-memberhead" viewBox="0 0 1303 1024"><path d="M1062.74839935 433.79527648A78.51879902 78.51879902 0 1 1 1130.58864141 472.74060007h-1.80593246l-48.05350474 403.97922198c-4.55409058 38.16013652-39.41643685 67.133573-80.79584389 67.13357302H320.58871c-41.30088817 0-76.00619753-28.81639958-80.71732499-66.97653526L190.24750358 472.74060007H188.36305226a78.51879902 78.51879902 0 1 1 67.761724-38.86680556l193.31328324 119.81968805 158.13686147-336.06046024A78.5973179 78.5973179 0 0 1 659.47584726 80.14660493a78.51879902 78.51879902 0 0 1 51.58685076 137.721974l158.13686148 335.82490362 193.54883985-119.89820607z" fill="#D6D6D6"></path><path d="M1052.06984238 394.22180104a78.51879902 78.51879902 0 1 1 78.51879903 78.51879903h-1.80593246l-48.05350474 403.97922198c-4.55409058 38.16013652-39.41643685 67.133573-80.79584389 67.13357302H660.26103515C659.71140302 793.25433807 659.47584726 505.32590231 659.47584726 80.14660493a78.51879902 78.51879902 0 0 1 51.58685076 137.721974l158.13686148 335.82490362 193.54883985-119.89820607A78.51879902 78.51879902 0 0 1 1052.06984238 394.22180104z" fill="#C1C1C1"></path></symbol><symbol id="csdnc-upload" viewBox="0 0 1024 1024"><path d="M216.37466416 723.16095396v84.46438188h591.25067168v-84.46438188c0-23.32483876 18.90735218-42.23219094 42.23219093-42.23219021s42.23219094 18.90735218 42.23219096 42.23219021v84.46438188c0 46.64967827-37.81470362 84.46438188-84.46438189 84.46438189H216.37466416c-46.64967827 0-84.46438188-37.81470362-84.46438189-84.4643819v-84.46438187c0-23.32483876 18.90735218-42.23219094 42.23219096-42.23219021s42.23219094 18.90735218 42.23219094 42.23219021zM469.76780906 275.55040991L246.55378774 499.53305726a42.30820888 42.30820888 0 0 1-59.99082735 0c-16.56346508-16.62259056-16.56346508-43.57095155 0-60.19354139L480.51167818 144.38144832A42.21952103 42.21952103 0 0 1 512 131.93984464a42.20262858 42.20262858 0 0 1 31.48409853 12.44160369l293.95294108 294.95806754c16.56346508 16.62259056 16.56346508 43.57095155 0 60.19354139a42.30820888 42.30820888 0 0 1-59.99082735 0L554.23219094 275.55040991V680.92876375c0 23.32483876-18.90735218 42.23219094-42.23219094 42.23219021s-42.23219094-18.90735218-42.23219094-42.23219021V275.55040991z"></path></symbol></svg><div class="imgViewDom">        <div class="swiper swiper-container-initialized swiper-container-horizontal">          <a class="close-btn">            <img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/quoteClose1White.png">          </a>          <div class="swiper-wrapper" style="transition: all;"><div class="swiper-slide"><img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/52fdf1f2fd40a7d710f168dffe63c3eb.png"></div><div class="swiper-slide"><img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/ef449ad8d0b7a53d3478d1c446e11566.png"></div><div class="swiper-slide"><img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/684d777fbeae6b4336d68ea876d2522e.png"></div><div class="swiper-slide"><img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/a304ef0414260173d67a6ad03982098f.png"></div><div class="swiper-slide"><img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/1221fa9546a9e9d5aea8741865181863.png"></div><div class="swiper-slide"><img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/5a3924533adba3cd69e2707d74177f4a.png"></div><div class="swiper-slide"><img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/89776fd622839b3f9587360705683f65.png"></div><div class="swiper-slide"><img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/c4b0f6397b158e3eac480e3d8786c46a.png"></div><div class="swiper-slide"><img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/1dc616a9f25e52c940577af8b54ed4b8.png"></div><div class="swiper-slide"><img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/42c977c11c4a677030ffb8a5592794aa.png"></div><div class="swiper-slide"><img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/57d752ab784cdb868b6fbe19ebad9047.png"></div><div class="swiper-slide"><img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/e04f8e80027d080b561511f8bcb036dd.png"></div><div class="swiper-slide"><img src="./Linux内核的GPIO子系统驱动框架详解以及基于pinctrl和gpio子系统的LED驱动程序_gpio驱动代码流程-CSDN博客_files/9639f8fcfb5da101733097c6e37f7d35.png"></div></div>          <div class="swiper-button-prev" tabindex="0" role="button" aria-label="Previous slide" aria-disabled="false"></div>          <div class="swiper-button-next" tabindex="0" role="button" aria-label="Next slide" aria-disabled="false"></div>        <span class="swiper-notification" aria-live="assertive" aria-atomic="true"></span></div>      </div></body><!-- 富文本柱状图  --></html>